当然,我想以代码方式执行此操作。并不是说我面对这个问题没有其他选择,只是好奇。
答案 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