码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript原型和原型链

时间:2017-09-11 10:07:51      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:java   str   const   找不到   属性   通过   基于   共享   浏览器   

一、对象与函数的关系

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

2.对象的创建方式

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

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

2.3.通过工厂模式创建,在方法中使用new Object();可以创建多个对象。

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__依次查找。

 

JavaScript原型和原型链

标签:java   str   const   找不到   属性   通过   基于   共享   浏览器   

原文地址:http://www.cnblogs.com/tuqunfu/p/7503354.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!