javascript - 如果 (x) ... 给出引用错误 : x is not defined

标签 javascript

我认为下面的方法会起作用,无论 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/

相关文章:

javascript - 使用 angularjs 创建新的 packery 后 document.getElementById 返回 null

javascript - CSS:是否有可能使::after 选择器表现得像一个按钮?

javascript - 使用jQuery animate向左滑动时保留css float

javascript - javascript 中 soundcloud 的当前时间和持续时间

javascript - 如何为下拉列表的每个选项添加一个属性

javascript - 如何将链接值从 "Choose"更改为 "Chosen"?

javascript - 使用 jQuery 的模态窗口

javascript - es6 类和 "this"以及事件处理程序

javascript - 丢失从共同包装函数传递到另一个函数的参数

javascript - 从文本框中获取数据以传递给 Controller ​​,而无需在 MVC 中刷新页面/提交表单