文章出處

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);

 


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()