2.1 运算符(操作符)
分类方式不固定
- 数学运算符 + - * / % ()
- 纯数字的字符串和纯数字进行数学运算时(除加法外),将进行隐式转换。
- 特殊字符布尔、null 和纯数字进行数学运算(包括加法)时也会进行隐式转换:true->1/ false->0/ null->0。
- undefined、其他字符串和纯数字进行数学运算时(除加法外),得到的都是NaN。
- NaN和纯数字进行数学运算时,得到的都是NaN。
- Infinity 和纯数字进行数学运算时,取极限。
- 比较运算符 > < == === >= <= != !==
- 比较运算符得到的结果都是布尔值。
- 纯数字字符串与纯数字进行比较时,会进行隐式转换。
- true,false,null。进行比较时,会进行隐式转换,true->1 false->0 null->0。注意:null进行== 或=== 运算时,不等于0,会输出false 。
- == 在比较时,会尽可能让两边关系相等。
- === 在比较时,会尽可能让两边关系不等。判断数值和数据类型都相等。
- != 先判断 == 关系然后取相反值。
- NaN和自身比较时,除了!== 其他均为false。Infinity和自身比较时,除了== 和===其他均为false。
非纯数字的字符串比较,比较字符的Unicode编码(数字、大写字母、小写字母),顺次比较字符,靠前的小于靠后的字符。
- 逻辑运算符 && || !
- 通常为布尔值的运算,得到的结果值也是布尔值
- 字符串、数字、特殊字符参与逻辑运算时,会自动转换为布尔值参与运算,得到的不一定是布尔值。
- NaN,0,“ ”,null,undefined ->false
- 非0数字,非空字符串,Infinity ->true
- 赋值运算符
- 按位运算符
- 条件(三元)运算符
- 混合运算时:先贴身(++ --),再数学、比较、逻辑、赋值
2.2Math 对象
- Math对象时js 内置的功能非常强大的数学对象,包含数学中所有的属性和方法。
- Math.random() 随机取一个大于等于0 小于1的数。[0,1)
- Math.pow(num,power) 幂的计算,第一个参数为底数,第二个参数为幂。
- Math.sqrt(num) 开方的计算。
- Math.PI 取π的值。
- 。。。