hasOwnProperty 的使用

hasOwnProperty:

官方解释:如果 object 具有带指定名称的属性,则 hasOwnProperty 方法返回 true,否则返回 false。此方法不会检查对象原型链中的属性;该属性必须是对象本身的一个成员。

一开始没理解看了官方的例子如下:

var s = new String("Sample");
console.log(s.hasOwnProperty("split"));//false
console.log(String.prototype.hasOwnProperty("split"));// true

咋一看 ,不对呀,不是应该是 都是true吗?于是乎 我就打印了 s 和String

打印出来的  s 对象本身的成员中并没有 split 属性 ,split 属性 在他的原型链中,但是 hasOwnProperty 并不会检查原型链,所以返回 false;

再来看看 String 的打印结果:

所以我们可以知道;hasOwnProperty 检查的就是 object 自身的对象,换句话说就是 用console.log 打印出来的对象中是否包含 某个属性

猜你喜欢

转载自blog.csdn.net/weixin_39090097/article/details/82388155