首页 > 代码库 > 构造函数方式调用

构造函数方式调用

今天看项目源码时,发现一个函数没有返回值,但是都忘了是通过 new 来调用的,还纠结this指向呢~


function task(ip,mac,scheme){
this.ip = ip;
this.mac = mac;
this.scheme = scheme;
}
task.prototype.excute = function(){
console.log(‘who is your daddy‘);
};
var foo1 = {
ip:‘102.123.12.1‘,
mac:‘12:23:123:43‘,
cheme:‘http‘
};
//通过new 创建的 this指向 新创建的对象。构造函数可以没有返回值。
var t =new task(foo1.ip,foo1.mac,foo1.cheme);
console.log(t);
t.excute();

输出:

      技术分享

 我发现,出现这个问题的原因是,对new操作符,太不熟悉了,下面dive a little deeper,来看看new 是怎么工作的?

构造函数方式调用