當然,我想這樣做代碼明智。這並不是說我沒有別的辦法可以解決這個問題,只是好奇而已。。我怎麼知道對象內是否存在字段?
43
A
回答
42
UPDATE:按照Gary Chambers的建議,使用hasOwnProperty
方法。下面的解決方案將起作用,但認爲最好使用hasOwnProperty
。
if ('field' in obj) {
}
59
這將忽略通過原型鏈傳遞的屬性。
if(obj.hasOwnProperty('field'))
{
// Do something
}
1
除了上述,您可以使用下面的方法:
if(obj.myProperty !== undefined) {
}
需要注意的是完全一樣的方式,你可以檢查密鑰是否存在關聯數組(這是因爲通常對象* * **實際上是關聯數組) – 2010-08-13 11:21:26
是的,它就像在Python中一樣。我不知道。 – Khoi 2010-08-13 12:16:37
一些短褲會抱怨這種語法。根據@GaryChambers建議的使用hasOwnProperty更安全 – Jayd 2014-06-02 14:11:40