码迷,mamicode.com
首页 > 其他好文 > 详细

打好基础:了解prototype原型链

时间:2015-04-24 22:42:49      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

一、什么是prototype

在创建构造函数时,如果在函数内进行变量声明,声明的将是私有变量,外部无法访问。会使用this来进行实例变量和函数的声明,以保证通过使用该构造函数来声明的对象可以调用这些变量和函数。然而生命实例函数会在每次新建一个对象时都复制一个一模一样的函数到栈空间,十分浪费资源。prototype可以帮助我们解决这个问题,每个构造函数都有一个原型对象,同时都有一个prototype属性,这个属性指向构造函数的原型对象,它被用来实现基于原型的继承和共享。prototype在该变量内部定义的变量和方法可以被所有的实例调用。当用构造函数创建一个实例时,实例内部包含一个内部指针(很多浏览器命名这个指针为_proto_)指向构造函数的prototype,这个链接存在于实例和构造函数的prototype之间,而不是实例与构造函数之间。

参考文章:JavaScript prototype

 

二、怎样理解Array.prototype.slice.call(arguments)

arguments是伪数组元素,具有length属性却不具有slice方法。call() 将调用slice方法的对象(this)转变为arguments。

 

三、怎样理解prototype原型链

JS原型链的主要作用:JS中没有继承的概念,所以用原型链来模拟出继承的效果。

 

打好基础:了解prototype原型链

标签:

原文地址:http://www.cnblogs.com/timl525/p/4454797.html

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