如何检查变量是否存在或在 JavaScript 中定义
答案:使用typeof
操作符
如果要检查变量是否已初始化或定义(即测试变量是否已声明并赋值),可以使用 typeof
运算符。
使用 typeof
操作符最重要的原因是,如果变量没有被声明,它不会抛出 ReferenceError。 让我们看一下下面的例子:
<script>
var x;
var y = 10;
if(typeof x !== 'undefined'){
// 该语句不会执行
alert("Variable x is defined.");
}
if(typeof y !== 'undefined'){
// 该语句将执行
alert("Variable y is defined.");
}
// 尝试访问未声明的 z 变量
if(typeof z !== 'undefined'){
// 该语句不会执行
alert("Variable z is defined.");
}
/* 抛出 Uncaught ReferenceError: z is not defined,
并停止脚本的执行 */
if(z !== 'undefined'){
// 该语句不会执行
alert("Variable z is defined.");
}
/* 如果下面的语句运行,它也会
抛出 Uncaught ReferenceError: z is not defined */
if(z){
// 该语句不会执行
alert("Variable z is defined.");
}
</script>
FAQ 相关问题解答
以下是与此主题相关的更多常见问题解答:
Advertisements