js--new操作符

来源:互联网 发布:vb中动态数组ppt 编辑:程序博客网 时间:2024/04/28 08:02

1.new操作符具体干了什么呢?

new操作符:

1.创建一个空对象

2.修改这个对象的内部属性proto,使其指向构造函数的prototype

3.将这个对象交给构造函数的this,调用构造函数

4.如果构造函数没有return,就返回这个对象。否则构造函数返回return语句后面的内容

我们可以通过在Function.prototype上创建个新方法来模拟new:

Function.prototype._new_ = function() {    var newObj,        resultObj;    newObj = {};    newObj._proto_ = this.prototype;    resultObj = this.apply(newObj,arguments);    return (typeof resultObj === "object" && resultObj) || newObj;};
0 0