"为什么alert(undefined !== false);alert(undefined !== true);结果都是true? "没错,undefined 既不等于true也不等于false

解决方案 »

  1.   

    能这样写吗?你从那弄的,!==改成!=,undefined好像是typeof返回的值,好像是有boolean值,但不是true,也不是false,是boolean,还有int,String等等,你自已查查吧.
      

  2.   

    这是JQuery的源码,
    个人认为这只是作者自己的思路,想在for循环的条件中就完成callback.call( value, i, value )这条语句,
    因为在for循环的条件中,所以只能写成比较表达式。
    如果在{}中,只要{callback.call( value, i, value );}就可以了。
    不知道理解是否正确,所以来问问。
      

  3.   

      如果我没记错的话 undefined 是 js 的一种数据类型,而 false 和 true 都是 Boolean 类型的数据,两个不同数据类型的值当然不会相等啦。