0

只是一个简单的问题:)

如果我有 :

var user = {'name': 'Fred'};

所以

console.log(user.name); // Fred
console.log(user.age); // undefined

console.log(test); // ReferenceError: test is not defined

我不明白为什么,因为对我来说它是一样的

console.log(window.test); // undefined

在我的项目中,我尝试检查是否存在全局变量但我有一个referenceError ...我真的不明白为什么followinf代码不起作用...

if (TestGlobal) // ReferenceError: TestGlobal is not defined
   console.log(' allo 1 ');

if (typeof(TestGlobal ) !== 'undefined') // Ok
   console.log(' allo 1 ');
4

1 回答 1

1

......和一个简单的答案:

  • undefined只要基值不是未定义的,属性引用总是评估它们的值或如果键不存在的值(然后会抛出 TypeError)。
  • 如果变量之前未定义,则抛出 ReferenceErrors,除非它们与 typeof关键字一起使用(它们只是评估为"undefined")。
于 2013-02-07T11:45:48.460 回答