value === undefined
value === void 0
zepto源码中把 undefined 换成了 void 0
除了早期的浏览器中undefined 可以被替换 还有别的什么用意这里应该不是防止被替换,给的说法是更快。
value === undefined
value === void 0
zepto源码中把 undefined 换成了 void 0
除了早期的浏览器中undefined 可以被替换 还有别的什么用意这里应该不是防止被替换,给的说法是更快。
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
void
会执行后面的表达式并返回undefined
,可以用于执行一些只需要 side effect 而不需要返回值的表达式。void 0 === undefined,但是我觉得 undefined 更清晰,而且可以采用各种手段防止
undefined
被重定义。整个 zepto 里只有这一个文件 里用到了void 0
,看来也并不是提倡使用 void 0.另外 void 0 的确比 undefined 快一点,可能是 iOS 3 上差距比较大吧(仅猜测,欢迎有条件的同学测试下)