search

Home  >  Q&A  >  body text

javascript - void 0和undefined的区别

value === undefined
value === void 0

zepto源码中把 undefined 换成了 void 0
除了早期的浏览器中undefined 可以被替换 还有别的什么用意这里应该不是防止被替换,给的说法是更快。

阿神阿神2901 days ago530

reply all(1)I'll reply

  • PHP中文网

    PHP中文网2017-04-10 14:48:15

    void 会执行后面的表达式并返回 undefined,可以用于执行一些只需要 side effect 而不需要返回值的表达式。
    void 0 === undefined,但是我觉得 undefined 更清晰,而且可以采用各种手段防止 undefined 被重定义。整个 zepto 里只有这一个文件 里用到了 void 0,看来也并不是提倡使用 void 0.
    另外 void 0 的确比 undefined 快一点,可能是 iOS 3 上差距比较大吧(仅猜测,欢迎有条件的同学测试下)

    reply
    0
  • Cancelreply