if([]){
//其余代码
}
复制代码
if([]){
console.log("here");
}
复制代码
发现浏览器打印出了:here,说明以前想法出错了~~数组
可是,又尝试了如下状况:浏览器
[] == false
!![]
复制代码
浏览器都打印出:true,这样就感受更加迷惑了。也就是说空数组[]能够转换成true,能够转换成false,JavaScript果真是一个神奇的语言啊bash
使用"=="进行比较时,若是两边的类型不一致的话,会对两边的类型进行转换,转换成能够相互比较的类型,针对以上状况: 空数组[]会转换成Number类型,转换成0,false也会转换成Number类型,也转换成0,所以就出现了[] == false
结果是true的状况spa