JavaScript——关于原型的一些方法

一、instanceof运算符

  • A(对象) instanceof B(构造函数)
  • B.prototype在对象 A 的原型链上吗?如果在,则为 true。

二、isPrototypeOf()方法

  • A.isPrototypeOf(B)
  • A.prototype在对象B的原型链上吗?如果在,则为true。

三、Object.getPrototypeOf()方法

  • 这个方法是用来获取对象的__proto__的。
  • Object.getPrototypeOf(A)等于A.__proto__

四、hasOwnProperty()方法

  • A.hasOwnProperty("B") // A为实例对象,B为属性名
  • B属性存在实例中,返回true。

五、in操作符

  • "A" in B // A为属性名,B为对象
  • A属性存在实例或者原型中,返回true。

六、for-in

  • 返回的是所有能够通过对象访问的、可枚举的(enumerated)属性,其中 既包括存在于实例中的属性,也包括存在于原型中的属性。屏蔽了原型中不可枚举属性(即将 [[Enumerable]]标记为 false 的属性)的实例属性也会在 for-in 循环中返回。

七、Object.keys()方法

  • Object.keys(A) // A为对象
  • 获取A对象上所有可枚举的实例属性

八、Object.getOwnPropertyNames()方法

  • Object.getOwnPropertyNames(A) // A为对象
  • 得到所有实例属性,无论它是否可枚举

猜你喜欢

转载自blog.csdn.net/weixin_43757001/article/details/115312952