JavaScript运算符
JavaScript运算符号可以分为以下三大类
-
物理运算符
-
逻辑运算符
-
关系运算符
物理运算符:数据可以分为 加(+) 减(-) 乘(*) 除(/) 取余(%).
- 加(+)操作符可能会产生意外的运算结果.当字符串与数字相加的时候,JavaScript会先将数字转化为字符串,然后将两部分的字符串内容相加.
- 被零整除在JavaScript并不报错:它只是简单的返回无穷大(Infinity)或负无穷大(-Infinity)。但是有一个例外,零除以零是没有意义的,这种整除运算结果也是一个 非数字(not-a-number)值,用NaN表示。无穷大除以无穷大、给任意负数作开方运算或者算术运算符与不是数字或无法转换为数字的操作数一起使用时都将会返回NaN。
var num = 1 + "1"; -->11
var num = 1 + 1 ; -->2
var num = 2 - 2 ; -->0
var num = 2 * 2 ; -->4
var num = 4 / 2 ; -->2
var num = 0 / 0 ; -->Infinity
var num =Infinity / Infinity; -->NaN
逻辑运算符:逻辑与(&&) 逻辑或(||) 逻辑非(!)
- 只有当两边条件同时为真的时候,逻辑与(&&)的返回表达式结果才为true.其余情况为false.
- 只有当两边条件同时为假的时候,逻辑或(||)的返回表达式结果才为false.其余情况为true.
- 逻辑非(!)返回表达式相反的结果.
var bool = true && true; -->true;
var bool = true && false; -->false;
var bool = false || false; -->false;
var bool = true || false; -->true;
var bool = !true; -->false;
var bool = !false; -->true;
关系运算符:大于(>) 大于等于(>=) 小于(<) 小于等于(<=) 相等(==) 不等(!=) 全等(===) 不全等(!==)
- 关系运算符容易错的点,等于号于赋值号混淆.==才是关系判断运算符而=为赋值符号.
- ==和!=只比较变量的值,而不比较数据的类型.值相等,数据类型不同时,返回结果仍为true.
- ===和!==比较变量的值的同时也会比较数据类型,同时相等时才会返回true.
判定相等
console.log(1 == 1); --> true
console.log(1 == "1"); --> true ==只比较值 不比较数据类型
判定全等
console.log(1 === 1, 12); -->true 不光数据类型相等值也相等
console.log(1 === "1", 13); -->false 只有值相等 数据类型不等
判定不相等
console.log(1 != 1); -->false
console.log(1 != "1"); -->false
判定不全等
console.log(1 !== 1); -->false
console.log(1 !== '1'); -->true