首页 > 其他 > 详细

call方法和new对象的关系

时间:2016-02-26 21:59:04      阅读:209      评论:0      收藏:0      [点我收藏+]

call只能改变this的指向,而使用new对象不仅会自动调用call方法改变这个对象的this指向,而且还会继承构造函数的原型。

var fn = function(a){
    this.a = a;
}
fn.prototype = {
    draw:function(){
        console.log(this.a);
    }
}

var obj = new fn(10);
obj.draw(); //10

在obj在没有找到draw函数,所以它向它的原型链中查找。

简单版

var fn = function(a){
    this.a = a;
}
var obj = new fn();

相当于这样

var fn = function(a){
    this.a = a;
}
var obj = {};
继承
obj.__proto__ = fn.prototype;
改变this指向
fn.call(obj);

 

call方法和new对象的关系

原文:http://www.cnblogs.com/pssp/p/5221891.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!