new 模拟

来源:互联网 发布:回拨电话软件 编辑:程序博客网 时间:2024/06/08 19:05
new的作用:        1、先生成一个空的obj        2、将obj.__proto__绑定到构造函数的prorotype        3、将构造函数的this绑定在obj上(执行)        4、如果有对象返回就返回该对象,并将obj丢弃,如果没有或者返回的不是一个对象,就将obj返回。
function newFactory(){            var obj = new Object();            var args = arguments;            fn = args.shift();            obj.__proto__ = fn.prototype;            var result = fn.call(obj,args);            return typeof result === 'object' ? result : obj;        }
原创粉丝点击