理解原型对象

2019-02-28  本文已影响0人  Ivy_study

1、构造函数
function Person(){
}

2、创建实例
const person = new Person();

3、原型对象
Person.prototype.name = 'ivy';
Person.prototype.will = 'become excellent';

4、三者关系
(1)、只要创建了一个新函数,就会根据一组特定的规则为该函数创建一个prototype属性。这个属性指向函数的原型对象;
(2)、所有原型对象都会获得constructor属性,这个属性指向prototype属性所在函数的指针,即构造函数
(3)、实例对象有属性proto指向原型对象(only firefox、safary、chrome support)

5、isPrototypeOf()
Person.prototype.isPrototypeOf(person) // return true

6、Object.getPrototypeOf()
该方法返回实例原型对象
Object.getPrototypeOf(person) === Person.prototype

7、hasOwnProperty()
该方法检测一个属性是否存在于实例中
person.hasOwnProperty('name')

8、原型与in操作符
检测属性是否存在于原型中或实例中

9、hasPrototypeProperty()
该方法检测属性是否存在于原型中

10、更简单的原型语法(对象字面量的形式)
Person.prototype = {
name: 'ivy',
age: '25',
will: 'become excellent'
}

上一篇下一篇

猜你喜欢

热点阅读