JavaScript原型和原型链

1、对象与函数的关系浏览器

1.对象是函数建立,函数也是一种对象。函数

2.对象的建立方式prototype

2.1.Object构造函数建立对象new Object();对象

2.2.字面量建立对象var x = new();其本质就是new Object方式建立。继承

2.3.经过工厂模式建立,在方法中使用new Object();能够建立多个对象。ip

2.4.使用构造函数建立对象。原型链

2.5.使用原型建立对象。原型

2.6.使用构造函数和原型建立对象。构造函数

2.7使用Object.create();建立对象。方法

3.函数、对象、原型、原型链

1.每一个函数都有一个prototype,每个对象都有一个__proto__。

2.__proto__(隐式原型)与prototype(显式原型)。

隐式原型:每个函数在建立以后都会拥有一个名为prototype的属性,这个属性指向函数的原型对象。

显示原型:JavaScript中任意对象都有一个内置属性[[prototype]],在ES5以前没有标准的方法访问这个内置属性,可是大多数浏览器都支持经过__proto__来访问。

关系:隐式原型指向建立这个对象的函数(constructor)的prototype(显示原型)

做用:显式原型的做用:用来实现基于原型的继承与属性的共享;隐式原型的做用:构成原型链,一样用于实现基于原型的继承。举个例子,当咱们访问obj这个对象中的x属性时,若是在obj中找不到,那么就会沿着__proto__依次查找。

相关文章
相关标签/搜索