可能重复:
How can I check whether a variable is defined in JavaScript?
假设我们有一段这样的代码。如果变量确实存在与否,如果其值可能未定义,将如何检查?
var a = { foo: 'bar' }
a['foo'] = undefined;
// now a['foo'] returns undefined, as it does exist and contains undefined as its value
delete a['foo']
// now a['foo'] still returns undefined, but it doesn't exist
感谢。
答案 0 :(得分:4)
为此,您使用in
运算符。
var a = {'foo': undefined};
'foo' in a // returns true
delete a.foo;
'foo' in a // returns false
或者您可以使用Object.prototype.hasOwnProperty
var a = {'foo': undefined};
a.hasOwnProperty('foo') // returns true
delete a.foo;
a.hasOwnProperty('foo') // returns false
答案 1 :(得分:1)
设置['foo'] = undefined等同于删除['foo']
如果在将其设置为undefined之后打印['foo']的值,您将看到它返回并清空变量/ struct。
如果您尝试将['foo']设置为带有“undefined”的字符串,则可以使用“typeof”函数来检查它是否确实未定义或是否为字符串。
编辑:
你可以在
中使用'foo'来检查它是否存在即
//中的答案 2 :(得分:-1)
您可以通过将变量传递给if语句来检查变量是否存在:
if (a['foo'])
alert("a['foo'] does exist.");