总结自己遇到的容易采坑的JS题目
一、隐式类型转换
1 == ‘1’
‘1’ + 1
‘1’ - 1
二、显式类型转换
parseInt(str,radix)
parseFloat(str,radix)
Number() //转变成数字
Boolean(param) //转变成布尔值
subString() //转变成字符串
三、== 和 === 的区别,!= 和 !==区别
1、注意:(==会有隐式的类型转化然后比较值的相等,===表较的是值和类型都必须相等)
比较的时候,不同类型的数据会先转换成一致后比较,=中如果类型不一致就直接返回false,一致的才会比较。
2、 和 != 会做数据类型的隐式类型转换,转换完数据类型再作表较。
3、“ === ” 和 “ ! ”会先判断数据类型,如果俩者的数据类型不一致直接返回false就不会再去做值的比较了。
四、与和或的运算规则(&&和||)
&&执行规则:如果&&前半部分是真的才会判断&&后半部分结果为结果才会执行到&&后面,如果&&前半部分为假,将不会执行&&后半部分。
||的执行规则:如果||前半部分为真则不会执行后面,直接返回结果。如果||前半部分为假后半部分为真则返回结果。如果都为假,则返回最后为假的部分。
先自己算结果,文章最后有答案,可以参考!!!
1 && 0 //答案是???
0 && 1 //答案是???
1 && 2 //答案是???
0 && false //答案是???
1 || 0 //答案是???
0 || 1 //答案是???
1 || 2 //答案是???
0 || false //答案是???
答案:
0
0
2
0
1
1
1
false