文章出處
文章列表
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);
文章列表
全站熱搜