Mel*_*Dog 65 javascript variables jquery
可能重复:
如何检查JavaScript中是否定义了变量?
是否有标准函数来检查JavaScript中的null,undefined或blank变量?
我有一个脚本分为两部分.
第一部分设置var:
var pagetype = "textpage";
Run Code Online (Sandbox Code Playgroud)
第二部分是一个简单的if语句:
if(pagetype == "textpage") {
//do something
};
Run Code Online (Sandbox Code Playgroud)
现在第二部分if语句出现在我网站的所有页面上.但是声明var的第一部分只出现在我的一些页面上.
在没有var的页面上我自然会收到此错误:
Uncaught ReferenceError: pagetype is not defined
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:是否有一种方法可以使用JavaScript或JQ来检测var是否存在(不仅仅是它是否分配了数据)?
我想象我会使用另一个if语句,例如:
if ("a var called pagetypes exists")....
Run Code Online (Sandbox Code Playgroud)
elc*_*nrs 118
我怀疑在SO上有很多这样的答案但是你走了:
if ( typeof pagetype !== 'undefined' && pagetype == 'textpage' ) {
...
}
Run Code Online (Sandbox Code Playgroud)
Ble*_*der 20
你可以使用typeof
:
if (typeof pagetype === 'undefined') {
// pagetype doesn't exist
}
Run Code Online (Sandbox Code Playgroud)
对于您的情况,99.9%的其他elclanrs
答案是正确的.
但是因为undefined
是一个有效的值,如果有人要测试一个未初始化的变量
var pagetype; //== undefined
if (typeof pagetype === 'undefined') //true
Run Code Online (Sandbox Code Playgroud)
确定var是否存在的唯一100%可靠方法是捕获异常;
var exists = false;
try { pagetype; exists = true;} catch(e) {}
if (exists && ...) {}
Run Code Online (Sandbox Code Playgroud)
但我永远不会这样写
归档时间: |
|
查看次数: |
108200 次 |
最近记录: |