Javascript未定义对象
Javascript undefined object
我知道检查变量是否未定义的最佳方法是
if ( typeof( something ) == "undefined")
我不明白的是,什么时候变量未定义,什么时候对象未定义。例如,当我控制台.log()一个变量时,我得到
Object {detailedView: undefined}
我的问题是,为什么我会得到这个,而不是一个明确的定义。
a
未定义。它是有定义的。这是一个物体。该对象恰好包含一个undefined
属性,但变量本身并没有定义。
something
没有定义,所以它是undefined
。
这里有两件事:"值"undefined
,这是一个变量在声明但尚未赋值时(即var a;
)可以指向的值,或者当它被赋值时,它实际上没有值或不存在,还有字符串"undefined"
,它是一个类似于"monkey"或"collywobble"的字符串。
在您的条件中,您正在测试typeof
运算符的结果,它是一个字符串"对象"或"函数",在本例中是"未定义"。这些只是文字:
if(typeof a == "undefined")
与测试相同
if(a == undefined)
因此,当您console.log实际对象时,您会看到它的值为undefined
,而不是字符串"undefined"
。
我相信你在问"未定义变量"(从未声明的变量)和"未定义值"(变量或属性中的值undefined
)之间的区别。
您使用var
关键字定义/声明一个变量:
var myVariable;
如果你这样做,那么这个变量的值就是undefined
:
console.log(myVariable); // undefined
如果不声明变量,则不能使用它:
console.log(myOtherVariable); // throws a ReferenceError
typeof
:除外
typeof myOtherVariable == "undefined"; // true
相关文章:
- 在CoffeeScript文件上运行Jasmine测试时,对象未定义错误
- JavaScript 对象 - 未定义的数字键文字
- 为什么页面方法对象未定义
- JavaScript对象表示嵌套对象未定义
- Javascript类构造的对象未定义
- JQuery TypeError:对象未定义(length=object.length,)
- 用于从许多带有“for”循环的URL中获取HTML信息的X射线使对象未定义
- 如何避免收到一条消息,指出对象未定义
- JavaScript 对象未定义
- JavaScript 对象未定义它是否在几年前工作
- 揭示模块模式:对象未定义
- 对象未定义/HTML使用jQuery输出
- 为什么子 html 对象未定义/空
- 提取 JSON 对象未定义
- 为什么这个带有最简单的构造函数的 javascript 对象未定义
- “对象”未定义日历.js
- 对象未定义到模块中,Nodejs javascript
- javascript对象未定义
- Twilio响应对象未定义,但没有错误
- 为什么"对象未定义”;在这种情况下没有抛出错误