现在的位置: 首页 > 综合 > 正文

JavaScript中的new-面向对象实现原理

2013年09月02日 ⁄ 综合 ⁄ 共 668字 ⁄ 字号 评论关闭

javascript的new只是对class的一种模拟,这个也是业界说javascript的类根本不是类的原因——因为它是模拟的。

 

 

其实javascript的new关键字只不过做了五件事情。

1.创建Object
2.查找class的prototype上的所有方法、属性,复制一份给创建的Object(注意,如果prototype上有属性是function或者数组或者Object,那么只复制指针)
3.将构造函数classA内部的this指向创建的Object

4.创建的Object的__proto__指向class的prototype
5.执行构造函数class

 

请看示例:

 

 

 

转载自http://constructor.iteye.com/blog/990434

抱歉!评论已关闭.