判断关系


判断关系

1)检测构造函数和实例的关系,如何判断对象数据类型
实例名(对象名) instanceof 构造函数名 返回值是布尔值 true /false
typeof 实例名 "object"
f1 instanceof Fn
2)检测某个对象实例和原型之间是否存在对应关系:isPrototypeOf()

构造函数名.prototype.isPrototypeOf(实例)
Person.prototype.isPrototypeOf(p1) 存在关系true 不存在关系 false
3)

检测一个属性是存在于实例中,还是存在于原型中:hasOwnProperty()
语法格式:实例名.hasOwnProperty(属性) 属性属于实例,返回真,属于原型返回假。
例如:p1.hasOwnProperty("name")
属性名 in 对象名 不管在实例上,还是原型上,都为true。
继承的两种方式:
1)原型链继承: 孩子的原型等于父亲的实例。
child.prototype=new Parent();

对象名 instanceof Object true
对象名 instanceof 构造函数名 true
对象名 instanceof 父构造函数名 true

对象名.constructor== 构造函数名 1)扩展的 构造函数名.prototype.work=function(){}
2) 构造函数.prototype.constructor=构造函数

对象名.constructor== Object true 构造函数.prototype=new F1() { }

猜你喜欢

转载自www.cnblogs.com/mapsxy/p/9195116.html