哪个是正确的做法?
if (myObj['key'] == undefined)
要么
if (myObj['key'] == null)
if (myObj['key'])
试试JavaScript in operator。
if ('key' in myObj)
而反过来。
if (!('key' in myObj))
当心!in运算符匹配所有对象键,包括对象原型链中的键。
in
用于检查对象自己的键,只有在直接可用时myObj.hasOwnProperty('key')才会返回:true``key``myObj
myObj.hasOwnProperty('key')
true``key``myObj
除非您有特定的理由使用in运算符,否则 usingmyObj.hasOwnProperty('key')会产生大多数代码正在寻找的结果。