导读:其实看到这个运算符的学习,很有一种熟悉感,因为在总体看来,和之前的C++有很多类似的地方,但当时觉得简单,没有总结。所以,这次一定得总结了。其实,知识的罗列,基础的积累,在学习中也很重要。

一、总体图示

1.1,图示

1.2,说明

运算符从大体上,分为了8种。而其中重点介绍的有:算术、关系、逻辑运算符。而在首先也展示了由运算符而组合的表达式,算是运算符的应用,而后介绍的优先级,则算是对于运算符操作的一种规范。

1.2.1,一元运算符扩展

数值字符串型:var box='89';box++      说明:90,自动转换成数值

字符串:var box='ab';box++     说明:NaN,字符串包含非数值转换成NaN

布尔值:var box=false;box++   说明:1,false转换成值是0,累加就是1

浮点型:var box=2.3;box++     说明:3.3,直接加1

对象型:var box={toString:function(){return 1;}};box++    
 说明:1,不设置toString()或valueOf即为NaN(结合到数据类型转换去看)

1.2.2,位运算符扩展

分为7种,分别是:位非NOT(~)、位与AND(&)、位或OR(|)、位异或(^)、左移(<<)、有符号右移(>>),无符号右移(>>>)

位运算符基于底层,性能和速度非常好,但也正是由于其基于底层,所以使用的难度也较大。

更多关于位运算符的知识:https://msdn.microsoft.com/library/066h456z

1.2.3,逗号运算符扩展

var box=100,age=20,height=178;  说明:多个变量声明

var box=(1,2,3,4,5);               说明:5,变量声明,将最后一个值赋给变量。(不常用)

var box=[1,2,3,4,5]            说明:[1,2,3,4,5],数组的字面量声明

var box={1:2,3:4,5:6}    
说明:[Object Object],对象的字面量声明

1.2.4,优先级扩展

一般情况,我们使用圆括号进行优先级的设置,比如在数据类型转换中执行加运算符,var box=“年龄是:”+10+20;alert(box),那么执行的结果是:年龄是:1020。但如果使用圆括号进行优先级设定:var box=“年龄是:”+(10+20);alert(box),那么执行的结果就是:年龄是:30。

另外,不使用圆括号进行优先级设定的运算规则是:

二、分解说明

2.1,算术运算符

2.2,关系运算符

2.2.1,图形补充

关系运算符除了包括小于,大于,小于等于,大于等于之外,还包括:相等==,不等!=,全等(恒等)===,不全等!==

2.3,逻辑运算符

2.3.1,图形补充

逻辑与运算符属于短路操作,如果第一个操作数返回false,第二个数不管是false或是true,都返回false。同理,逻辑或运算符也属于短路操作,当第一操作数的求值结果为true,就不会对第二个操作数求值,利用这一特性,避免变量赋null或Undefined值。

逻辑非:使用一次逻辑非运算符,其流程是先转成布尔值,后取反。而使用两次逻辑非运算符就是将值转换成布尔值取反再取反,其操作相当于对值进行Boolean()转型函数处理。

注意:使用三个以上的逻辑非运算符,没有错误,但没有其实际意义

三、学习总结

这部分知识,本来在学习C的时候就应该总结的。这次总结,发现基础真的很重要,有时候就是那么一小点,就可以决定整个成败。就比如说一元运算符中对象型,要是之前没有总结数据类型,也不能理解这么快(主要是对象数据转换的内部机制,其首先通过ValueOf()函数,判断对象类型是否为数值,当返回值=NaN时,则继续调用其toString()函数,继续判断)再一个简单的就是var box=“年龄是:”+10+20;alert(box)和var
box=“年龄是:”+(10+20);alert(box),这个在理解的时候很精准,都得益于之前的数据类型的总结。

基础知识的罗列,看起来毫无意义和繁杂,但就是那一遍哪怕是抄的过程,都带给了我很多财富。

【JavaScript 3—基础知识点】:运算符的更多相关文章

  1. JavaScript语言基础知识点图示(转)

    一位牛人归纳的JavaScript 语言基础知识点图示. 1.JavaScript 数据类型 2.JavaScript 变量 3.Javascript 运算符 4.JavaScript 数组 5.Ja ...

  2. JavaScript语言基础知识点图示

    原文:JavaScript语言基础知识点图示 一位牛人归纳的JavaScript 语言基础知识点图示. 1.JavaScript 数据类型 2.JavaScript 变量 3.Javascript 运 ...

  3. JavaScript 语言基础知识点总结

    网上找到的一份JavaScript 语言基础知识点总结,还不错,挺全面的. (来自:http://t.cn/zjbXMmi @刘巍峰 分享 )  

  4. JavaScript 语言基础知识点总结(思维导图)

    JavaScript 数组 JavaScript 函数基础 Javascript 运算符 JavaScript 流程控制 JavaScript 正则表达式 JavaScript 字符串函数 JavaS ...

  5. 一套最全的JavaScript 语言基础知识点总结(思维导图10张)

    1.DOM基础操作 2.数组基础 3.函数基础 4.运算符 5.流程控制语句 6.正则表达式 7.字符串函数 8.数据类型 9.变量 10.window对象

  6. 【JavaScript 8—基础知识点】:DOM

    一.总体概述 1.1,什么是DOM DOM(Document Object Model):D(文档):整个web加载的网页文档:O(对象):类似于window对象之类的东西,可以调用属性和方法,在这里 ...

  7. 【JavaScript 7—基础知识点】:BOM

    一.基础知识 1.1,什么是BOM BOM(browser object model):也叫浏览器对象模型,它提供了很多对象,用于访问浏览器的功能.BOM缺少规范,每个浏览器提供商又按照自己想法去扩展 ...

  8. 【JavaScript 4—基础知识点】:函数

    导读:函数这个东西,从VB开始就一直在用,不过那时候一般写不出来自己的函数或者类,觉得最高大上的,就是调用API函数了.现在,学习到了JavaScript,总结总结函数,显得很有必要.这篇文章,就从最 ...

  9. 【JavaScript 1—基础知识点】:宏观概述

    导读:JavaScript是一门新的(也可以说是旧的或者半新语言),里面有很多的知识点都能和已有的知识产生共鸣.但是,虽然简单,相同点也有很多,也有不同点.我脑袋也不好使,所以对于我来说,还是有必要再 ...

随机推荐

  1. Django中多表的增删改查操作及聚合查询、F、Q查询

    一.创建表 创建四个表:书籍,出版社,作者,作者详细信息 四个表之间关系:书籍和作者多对多,作者和作者详细信息一对一,出版社和书籍一对多 创建一对一的关系:OneToOne("要绑定关系的表 ...

  2. 5个典型的JavaScript面试题

    在IT界,需要大量的 JavaScript 开发者.如果你的能力能够胜任这一角色,那么你将获得许多换工作和提高薪水的机会.但是在你被公司录取之前,你需要展现你的技术,以便通过面试环节.在这篇文章中,我 ...

  3. 使用vscode软件运行zebrajs框架小结

    最近在研究使用zebrajs框架,用vscode编辑器进行开发.vsc这个编辑器说起来还是很强大的,就是支持各种系统的多种语言开发.用于前端的话可以直接在编辑器上边调试javascript,就是需要n ...

  4. LINUX提高openfire并发数(网上收集)

    谷歌博客地址:http://tsaiquinn.blogspot.com/2014/10/linuxopenfire.html 影响连接数的元素包含三种:1)Linux的系统参数2)进程自身可以创建的 ...

  5. JNI工程搭建及编译

    JNI工程搭建及编译 建立Java工程 在具有C/C++比编译器的Eclipse中进行工程的创建,先创建一个简单的Java project,选项和一般同,这里仅仅需要将要调用的C/C++函数声明为na ...

  6. Kafka-broker配置说明

    配置文件在config/server.properties 下面的一些配置可能是你需要进行修改的. broker.id 整数,建议根据ip区分 log.dirs kafka存放消息文件的路径, 默认/ ...

  7. C# DateTime.Now函数

    // 2008年4月24日 System.DateTime.Now.ToString( " D " );// 2008-4-24 System.DateTime.Now.ToStr ...

  8. Use-After-Free

    0x00 UAF利用原理 uaf漏洞产生的主要原因是释放了一个堆块后,并没有将该指针置为NULL,这样导致该指针处于悬空的状态(这个指针可以称为恶性迷途指针),同样被释放的内存如果被恶意构造数据,就有 ...

  9. HTML5基础知识习题 一

    1. HTML5 之前的 HTML 版本是什么? 答: HTML 4.01 2. HTML5 的正确 doctype 是? 答: <!DOCTYPE html> 3. 在 HTML5 中, ...

  10. Luogu P1080国王游戏(贪心)

    国王游戏 题目链接:国王游戏 ps:题目数据说明了要写高精度. 这个题的答案是\(a.l * a.r < b.l * b.r\)按照这个进行排序 题解中大部分只是如何证明排序是: \(a.l * ...