![](/img/trans.png)
[英]How can I tell 'Whether a Javascript object exists on my page'?
[英]In Javascript. how can I tell if a field exists inside an object?
当然,我想在代码方面做到这一点。 这并不是说我面临的这个问题没有其他选择,只是好奇。
这将忽略通过原型链向下传递的属性。
if(obj.hasOwnProperty('field'))
{
// Do something
}
更新:按照 Gary Chambers 的建议使用hasOwnProperty
方法。 下面的解决方案将起作用,但它被认为是使用hasOwnProperty
的最佳实践。
if ('field' in obj) {
}
除了上述之外,您还可以使用以下方式:
if(obj.myProperty !== undefined) {
}
lodash 库中有has方法。 它甚至可以检查嵌套字段。
_.has(object, 'a');
_.has(object, 'a.b');
当然,我想在代码方面做这个。 并不是说我面临的这个问题没有替代方案,只是好奇。
真的不记得这是从哪里来的,但这是我用的:
if (!! document.getElementById('id_of_field'))
{
// The field exist even if it's empty
}
这个问题很老,但对某些人仍然有用。
现在,如果您有非硬编码密钥,建议使用另一种方法。
你必须从这个开始:
foo.hasOwnProperty("bar");
对此:
Object.prototype.hasOwnProperty.call(foo, "bar");
此更新特别有用,特别是如果您使用像 ESLint 这样的 linter,它在“eslint:recommended”规则集中默认具有此规则。 这种新方法主要是出于安全原因。 整个解释都可以在这个页面上找到。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.