为什么alert(undefined !== false);alert(undefined !== true);结果都是true?

chenjianwei2046 2009-04-06 06:56:48
为什么alert(undefined !== false);alert(undefined !== true);结果都是true?
下面是JQuery中each方法的一段代码,
callback.call( value, i, value ) !== false;这一句是什么意思呢?


for(var value = object[0]; i < length && callback.call( value, i, value ) !== false; value = object[++i]){}
...全文
280 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ghost_520 2009-04-07
  • 打赏
  • 举报
回复


如果我没记错的话 undefined 是 js 的一种数据类型,而 false 和 true 都是 Boolean 类型的数据,两个不同数据类型的值当然不会相等啦。
chenjianwei2046 2009-04-06
  • 打赏
  • 举报
回复
这是JQuery的源码,
个人认为这只是作者自己的思路,想在for循环的条件中就完成callback.call( value, i, value )这条语句,
因为在for循环的条件中,所以只能写成比较表达式。
如果在{}中,只要{callback.call( value, i, value );}就可以了。
不知道理解是否正确,所以来问问。
努力 2009-04-06
  • 打赏
  • 举报
回复
能这样写吗?你从那弄的,!==改成!=,undefined好像是typeof返回的值,好像是有boolean值,但不是true,也不是false,是boolean,还有int,String等等,你自已查查吧.
cntmi 2009-04-06
  • 打赏
  • 举报
回复
看看官方教材就知道了
阿云ivan 2009-04-06
  • 打赏
  • 举报
回复
"为什么alert(undefined !== false);alert(undefined !== true);结果都是true? "

没错,undefined 既不等于true也不等于false

87,914

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧