javascript – 我可以使用(undefined || null)检查我的变量是null还是未定义?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 我可以使用(undefined || null)检查我的变量是null还是未定义?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1384字,纯文字阅读大概需要2分钟。
内容图文
![javascript – 我可以使用(undefined || null)检查我的变量是null还是未定义?](/upload/InfoBanner/zyjiaocheng/763/2484a1b90c4745cd9341712474e38070.jpg)
在我的Javascript代码中,我正在检查变量是否未定义(未定义值,但未定义变量)或null.修剪代码我正在使用运算符.我是这样做的:
if (myVariable === (undefined || null)) {
// Do something.
}
我的一个朋友告诉过我,我应该把支票分成:
if (myVariable === undefined || myVariable === null) {
// Do something.
}
这两种方法之间真的有什么区别吗?如果是,我应该使用哪一个?为什么?
解决方法:
Is there really any difference between these two approaches?
是.
myVariable === (undefined || null)
相当于
myVariable === null
仅当myVariable为null时才为true,如果myVariable未定义则为false.鉴于:
myVariable === undefined || myVariable === null
如果myVariable未定义或为null,则返回true.
If yes, which one should I use and why?
即使答案是肯定的,也不(可能).如果要确定变量是否存在,则只能测试全局变量,因为它们是全局对象的属性:
// In global code
var window = this;
// Later…
if (varname in window) {
// varname is a global variable or property
}
在函数执行上下文中,您只能使用try..catch可靠地测试变量:
try {
var blah = foo;
} catch (e) {
// foo is probably not a variable in scope
}
但这几乎肯定不是一个好主意.见JavaScript check if variable exists (is defined/initialized) – Which method is better?.
你可能应该这样做:
if (typeof varname == 'undefined' || varname === null) {
// varname either does't exist or has a value of undefined or null.
}
测试需要按此顺序进行,以便在未声明或以其他方式创建varname时,typeof测试在null测试之前失败,否则会引发错误.
内容总结
以上是互联网集市为您收集整理的javascript – 我可以使用(undefined || null)检查我的变量是null还是未定义?全部内容,希望文章能够帮你解决javascript – 我可以使用(undefined || null)检查我的变量是null还是未定义?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。