我可以发誓,如果你试图访问一个你没有在任何地方声明的变量,它的值将是
undefined
,但我在 Firefox 和 Chrome 中都看到 not available
。
此外,
not available
似乎不会被评估为虚假条件,因此以下代码片段不会像我期望的那样处理未声明的变量:
debugger;
alert('hi'); //works
if (foo) { //if foo is undeclared, undefined, null, etc. don't do anything with it.
alert('im inside foo');
//do some stuff with foo
}
alert('bye'); //never get here
debugger;
JavaScript 标准中是否更改了此行为? 处理未声明变量的最佳方法是什么?
引用未声明的变量将总是导致错误。您可以在 MDN 上了解有关此行为的更多信息。