我认为下面的方法会起作用,无论 x
是否被声明或赋值:
if (x)
console.log("x is well defined");
else
console.log("x is not defined or null or false or 0 ...");
但是,我得到(当 x
在我的代码中没有声明时):
x is not defined
为什么会这样?
(这是在 Node.js 环境中。)
最佳答案
如果你没有在 if(x) 语句范围内的任何地方声明 x,就会出现引用错误。
为了避免这种情况,只需声明 var x;在 if(x) 语句或其父范围内。
现在如果你只是声明:
变量 x;
这里 x 的值是未定义的,所以其他部分将被执行。
但是如果你这样定义:
变量 x=1;
那么 if 语句将为 true 并且输出将为 x 已明确定义
这里是 jsfiddle:https://jsfiddle.net/raushankumar0717/4ozmf7r5/
var x=1;
if(x)
alert("Defined");
else
alert("Not Defined");
关于javascript - 如果 (x) ... 给出引用错误 : x is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45384369/