您的位置:首页 > Web前端 > JavaScript

Javascript 中 if 条件判断 的 内部机制

2014-06-27 20:32 337 查看
我在写一个ajax页面的时候发现了这么一个问题

1 a = [];                          //空数组
2 alert(a == true);          //判断a 是不是 true
3 if(a){
4
5     alert("hello");
6 }


这样一段js代码会怎样执行呢?第一个alert 是弹出 false ,也就是说 a == false 的,按理说if里面的alert 应该不会执行吧,诡异的地方来了,hello 也被alert出来了,这样就揪出来一个问题 也就是 if 的条件判断 并不是 用 ==true 来判断是否为真的,js 的if 判断实际上是 Boolean(a) ==true 来判断的,先将 a 转化为Boolean 对象 ,然后判断 这个布尔对象是true 还是false,空 数组类型 转化为Boolean 是为 true的,所以以后小心使用直接
if(对象)这种形式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: