js如何检查某对象是否有某属性
小编给大家分享一下js如何检查某对象是否有某属性,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
我们提供的服务有:成都网站建设、成都网站设计、微信公众号开发、网站优化、网站认证、嘉禾ssl等。为千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的嘉禾网站制作公司
检查某对象是否有某属性
当你需要检查某属性是否存在于一个对象,你可能会这样做:
var obj = { name: '大漠' }; if (obj.name) { console.log(true) // > Result: true }
这是可以的,但是你需要知道有两种原生方法可以解决此类问题。in 操作符 和 Object.hasOwnProperty,任何继承自Object的对象都可以使用这两种方法。
var obj = { name: '大漠' }; obj.hasOwnProperty('name'); // > true 'name' in obj; // > true obj.hasOwnProperty('valueOf'); // > false, valueOf 继承自原型链 'valueOf' in obj; // > true
两者检查属性的深度不同,换言之hasOwnProperty只在本身有此属性时返回true,而in操作符不区分属性来自于本身或继承自原型链。
这是另一个例子:
var myFunc = function() { this.name = '大漠'; }; myFunc.prototype.age = '10 days'; var user = new myFunc(); user.hasOwnProperty('name'); > Result: true user.hasOwnProperty('age'); > Result: false, // 因为age来自于原型链
以上是“js如何检查某对象是否有某属性”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!
分享文章:js如何检查某对象是否有某属性
浏览路径:http://scjbc.cn/article/gepsid.html