判断属性存在于原型而非对象的方法

原文链接: https://www.mk2048.com/blog/blog.php?id=h02j0j1bca0j&title=%E5%88%A4%E6%96%AD%E5%B1%9E%E6%80%A7%E5%AD%98%E5%9C%A8%E4%BA%8E%E5%8E%9F%E5%9E%8B%E8%80%8C%E9%9D%9E%E5%AF%B9%E8%B1%A1%E7%9A%84%E6%96%B9%E6%B3%95

 object.hasOwnProperty(prop) 仅在属性存在于实例中才会返回 true ,而 in 操作符只要通过对象能访问到属性就会返回 true 。因此,当属性属于这个对象,又不存在于实例时,就说明它是原型的属性了。具体实现如下:

1 function hasPrototypeProperty(obj, name) {
2     return !obj.hasOwnProperty(name) && (name in obj);
3 }

更多专业前端知识,请上 【猿2048】www.mk2048.com

猜你喜欢

转载自blog.csdn.net/mabeizui9231/article/details/102759250