underscore.js 关于 isUndefined函数的疑问?

发布于 2022-09-02 13:58:47 字数 199 浏览 13 评论 0

关于underscore.js中isUndefiend函数的疑问?

 _.isUndefined = function(obj) {
    return obj === void 0;
  };

为什么可以通过 obj === void 0 来判断一个值是否是undefined

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

断念 2022-09-09 13:58:48

void语句返回undefined

友欢 2022-09-09 13:58:48

主要原因是 undefined 在某些浏览器中可以被改写:

<script type="text/javascript">
    undefined = 20;
    alert(undefined); // 20 (IE8 下)
</script>

而 void 0 是任何情况下都是 undefined

哎呦我呸! 2022-09-09 13:58:47
JavaScript中void操作符执行一个表达式,并返回undefined; void(expression);
void(0);等价于 void 0;
可以在控制台测试一下:
void(a=1);
console.log(a);//输出1

所以上面的代码的含义就是 判断一个 object === undefined;但是 void 0 比 undefined 更短;
可参考:[](http://stackoverflow.com/questions/1291942/what-does-javascriptvoid0-mean)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文