在Javascript中。如何判断对象内是否存在字段?

时间:2010-08-13 11:16:52

标签: javascript

当然,我想以代码方式执行此操作。并不是说我面对这个问题没有其他选择,只是好奇。

6 个答案:

答案 0 :(得分:77)

这将忽略通过原型链传递的属性。

if(obj.hasOwnProperty('field'))
{
    // Do something
}

答案 1 :(得分:52)

更新:使用加里钱伯斯建议的hasOwnProperty方法。以下解决方案可行,但最佳做法是使用hasOwnProperty

if ('field' in obj) {
}

答案 2 :(得分:1)

除上述内容外,您还可以使用以下方式:

if(obj.myProperty !== undefined) {
}

答案 3 :(得分:1)

在尝试测试通过变量传递的字段名称后,我很沮丧,我想到了:

`function isset(fName){ 
    try{
        document.getElementById(fName).value=document.getElementById(fName).value;  
        return true;
    }catch(err){
        return false;
    }
 }

`

该函数使用javascript的try / catch函数-如果无法设置字段值,则会触发错误,该错误将被捕获并传回false,否则返回true。

答案 4 :(得分:0)

真的不记得它是从哪里来的,但这是我使用的:

 if (!! document.getElementById('id_of_field'))
     {
       // The field exist even if it's empty
     }

答案 5 :(得分:0)

为此,lodash库中有has方法。它甚至可以检查嵌套字段。

py main.py