摘要: 当一个js函数对象被创建时,Function 构造器产生的函数对象会运行类似这样的一些代码 this.prototype={constructor:this} 新函数被赋予了一个prototype属性,它的值是一个对象,该对象包含了一个constructor属性,该属性的值为改新函数的对象 阅读全文
posted @ 2013-10-05 21:59 H&K 阅读(515) 评论(0) 推荐(0) 编辑
摘要: 说到prototype,就不得不先说下new的过程。我们先看看这样一段代码:很简单的一段代码,我们来看看这个new究竟做了什么?我们可以把new的过程拆分成以下三步: var p={}; 也就是说,初始化一个对象p。 p.__proto__=Person.prototype; Person.call(p);也就是说构造p,也可以称之为初始化p。关键在于第二步,我们来证明一下:这段代码会返回true。说明我们步骤2的正确。那么__proto__是什么?我们在这里简单地说下。每个对象都会在其内部初始化一个属性,就是__proto__,当我们访问一个对象的属性 时,如果这个对象内部不存在这个属性,那 阅读全文
posted @ 2013-10-05 20:04 H&K 阅读(226) 评论(0) 推荐(0) 编辑