如何检查JavaScript中是否加载了变量?

Sea*_*ney 25 javascript object

如何查看某个对象是否已加载,如果没有加载,如何加载,如下所示?

if (!isObjectLoaded(someVar)) {
    someVar= loadObject();
}
Run Code Online (Sandbox Code Playgroud)

rjz*_*zii 37

如果它是一个对象,那么你应该只能检查它是否为null未定义,然后加载它(如果是).

if (myObject === null || myObject === undefined) {
   myObject = loadObject();
}
Run Code Online (Sandbox Code Playgroud)

使用typeof函数也是一个选项,因为它返回所提供对象的类型.但是,如果对象尚未加载,它将返回null或undefined,因此在可读性方面可能会略微降低个人偏好.

  • @Rob @PhiLho这个:`x == null`等价于:`x === null || x === undefined`(在全局变量`undefined`尚未修改的情况下).因此,您可以只编写`myObject == null`而不是表达式.它不仅更小,而且更强大,因为它对变量`undefined`的赋值无动于衷. (7认同)

Tom*_*ter 27

if(typeof(o) != 'object') o = loadObject();
Run Code Online (Sandbox Code Playgroud)

  • 请记住,typeof为null返回"object",所以你可能想要像[if(null!== x &&'object'== typeof(x)){]之类的东西 (9认同)

小智 5

myObject = myObject || loadObject();
Run Code Online (Sandbox Code Playgroud)