首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

What's "new" in JavaScript

2012-11-04 
Whats new in JavaScript?老调重弹,在JavaScript中,遇到new操作符时执行了什么操作?也就是说new到底创

What's "new" in JavaScript?
老调重弹,在JavaScript中,遇到new操作符时执行了什么操作?
也就是说new到底创造了什么,过程是怎样的?
能否为Function对象增加一个原型方法,模拟new的操作?

function Singleton(){if(this instanceof arguments.callee){ //如果没有通过new进入函数体,这里的this会指向windowreturn new arguments.callee;}if(Singleton.inst){return Singleton.inst;}Singleton.inst = this;}var s1 = new Singleton();var s2 = Singleton();alert(s1===s2);//true

这就是为Function增加原型方法__new__来做对new操作符的模拟,可能还不完善,但对理解一些JS内部机制有帮助.要是有错误,请一定帮忙指出~
最后,推荐看一下ECMA-262-3 in Detail系列文章.

热点排行