javascript中检测变量是否存在时,最好使用typeof

174 阅读1分钟

var result = '';
if (typeof somevar !== 'undefined'){
    result = 'yes';
}
result;
''

在这种情况下,typeof返回的是一个字符串,可以与字符串“undefined"进行直接比对。

注意:如果这里的somevar是一个已经声明但未尚赋值的变量,结果也是相同的(或者说测试变量值是否为undefined)

var somevar;
if (typeof somevar !== 'undefined'){
    result = 'yes';
}
result;
''


somevar = undefined;
if (typeof somevar 1== 'undefined'){
     result = 'yes';
}
result;
''

如果一个已被定义的变量被赋值为undefined的任何值后,该变量的typeof结果就不再是undefined。

somevar = 123;
if (typeof somevar !== 'undefined'){
    result = 'yes';
}
result;
'yes';