你不知道的JavaScript-0

 

【数组】

删除数组的几种方法:

https://www.cnblogs.com/Joans/p/3981122.html

http://www.cnblogs.com/qiantuwuliang/archive/2010/09/01/1814706.html

 

【数字转换】

parseInt(num, radix):

【宽松相等和严格相等】

== 允许在相等比较中进行强制类型转换, === 不允许。

一般说法:

== 检查值是否相等, === 检查值和类型。

【抽象相等】

  • 其他类型跟布尔类型相等比较

注意:不要使用 == true 和 == false,条件判断不成立。  什么意思?

解释:

 

1 var x = '42';
2 var y = false;
3 
4 x == y; // false

 

为啥?

‘42’是真值,没错。但是‘42’跟布尔值相等比较时,‘42’没有转换为布尔值(true)。

转换过程: false 转换为 0,‘42’转换为 42,number(42)≠ number(0),所以结果为false。

所以:

js中不要使用布尔类型条件判断。

//不要这样用,条件判断不成立
if(a == true){
    //...
}

//不要这样用,条件判断不成立
if(a === true){
    //...
}

//这样的显示用法没问题
if(a){
    //...
}

//这样的显示用法更好
if( !!a ){
    //...
}

//这样的显示用法也挺好
if( Boolean(a) ){
    //...
}

 

posted @ 2018-06-29 14:41  xyJen  阅读(244)  评论(0编辑  收藏  举报