一、NaN全称为not a number :NaN的数据类型的输出为, 数字类型number。
二、数字类型:1、当成一个标识,标识某一个数据不是一个 数字类型number
2、任何NaN的计算,都会返回NaN
3、NaN不和任何值相等,包括他自己
4、在ES里面专门判断是否为一个非数的函数 isNaN()
三、数值转换相关函数:1、数字类型 Number():将一个值转换为数值
2、如果是布尔值 Boolean,会被转为0或者1
3、如果是数字,就是一个简单的返回
4、如果null,返回0
5、如果是undefined 未定义,返回NaN
四、一元运算符:++和--
1、如果++(--)放在操作数的前面,那么是先自增,在参与运算。
2、如果是放在后面,则先参与运算,然后自增。
3、尽量要去降低++(--)放在前面还是后面的差异性,将i++或者++i单独写一行。
五、逻辑运算符:与 或 非
1、与:表示两个为真,才是真,如果有一个为假,那么就是假。
(1)、与、短路现象:所谓短路现象,就是指只要第一个数为假,那么就不会去判断第二数,因为第二个操作数无论真假,结果都是假。
2、或:或里面只要有一个为真,那么就返回真。
(1)、或、同样存在短路现象。如果第一个操作数为真,就不会判断第二个了。
3、非:就是取反。非真即假,非假即真,使用的运算符就是一个!
六、特殊案例:
1、如果两个操作数都是NaN,返回的就是NaN。
2、如果两个操作数都是 空 null,返回的就是 空 null。
3、如果两个操作数都是 未定义 undefined,返回的就是 未定义 undefined。
4、两个都为真,返回第一个操作数
七、算数运算符:加法,减法,乘法,除法,取模,指数运算符
1、取模:就是数学里面的取余数。运算符为一个%
八、指数运算符:
1、在ES6之前,没有指数运算符,我们求次方需要调用Math对象的pow()方法
2、关系运算符:大于 小于 大于等于 小于等于 相等 不相等 全等 不全等
(1)、最终会返回一个布尔值
(2)、除了数字,字母也可以比大小,比较的是ASCII对应的字符编码。
(3)、如果是字符串和数字进行比较,那么会先将字符串隐式转换为数字,如果不能转换,则转为NaN
(4)、NaN和任何类型进行比较,返回的都是 假 false
九、相等 不相等 全等 不全等
1、==:值相等,但是数据类型可以不相等
2、===:值相等,数据类型类型也必须相等
十、赋值运算符:
1、=:除了=以外,还有一组复合赋值运算符 += -= *= /= %=
十一、其他运算:
1、 三目运算符?:
2、语法: 表达式1?表达式2:表达式3
3、如果表达式1为真,那么就执行表达式2,如果表达式1为假,那么就执行表达式3
4、逗号运算符:运算符优先级是从高到低
5、可以使用小括号来改变优先级
第三章 选择结构:
1、流程控制的概念:是控制程序的流向 (指的方向)
2、程序常见的结构:(1)顺序结构:代码一条一条从上往下,依次执行。
(2) 选择结构:
<1> 单分支:如果条件成立,那么就进入到分支条件里面,执行相应的代码,如果不成立就不进去。
(3)使用的关键字为if
(2) 双分支:就是如果条件成立,进入代码块执行语句,否则进入另一个代码块执行语句
<2> 关键字:if...else
<3> 双分支有一个简便写法:三目运算符
(3)多分支:如果某一个条件成立,那么就会进入相应的代码块
<1> 关键字:if...elseif...else
3、Switch 语句:就相当于多分支语句(if..elseif..else)
4、Break 布尔类型的 作用:跳出s是 witch
5、Default:也不是必须要写,我们书写default,只是为了一种预防措施。
(1)ES里面,和其他的静态语言不同的是,case后面的值不一定是常量,可以是变量甚至是表达式
(2) 相比if..else if...else,switch语句结构的易读性更高
原文:http://www.cnblogs.com/sics/p/7790001.html