易混淆的运算符


算术运算符:

console.log(undefined+NaN) //nan
console.log(undefined+null) //nan
console.log(null+undefined) //nan
console.log(NaN+null) //nan
console.log(1+null) //a
true相当于1;
false和null相当于0;
console.log("1"+null) 1null
1+{name:“admin”} //[object object]
1+[3,4,5,6] //13,4,5,6

结论:只要有字符串相加,都会变成字符串。与特殊值相加都是nan.与字符数组相加如上。

逻辑运算符&&:
console.log(undefined&&NaN) //u
console.log(undefined&&null) //u
console.log(null&&undefined) //n
console.log(NaN&&null) //n
console.log(1&&null) //null
console.log("1"&&null) //null
 
结论:特殊值&&特殊值,谁写在前结果就是谁。任何值与null相与结果都为null(特殊值除外)。与false想&&,均为false;与0相与均为0;
0与false相与为0;数字与1相与为1;










猜你喜欢

转载自www.cnblogs.com/hy96/p/11369595.html