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