//1、 es5中最簡單的類
//2. es5類的繼承 (原型鏈與物件冒充的組合繼承模式)function person()
var p = new person(); //建立類
alert(p.name); // 網頁顯示
//es5中的建構函式和原型鏈裡面增加方法
function person()
} //原型鏈上面的屬性會被多個例項共享 建構函式不會
person.prototype.*** = '男'; // 原型鏈中增加方法
person.prototype.work = function ()
var p = new person(); //建立類
p.run(); //呼叫run方法
p.work(); //呼叫work方法
web類繼承person類 (物件冒充繼承模式)function person()
} person.prototype.*** = '男'; // 原型鏈中增加方法
person.prototype.work = function ()
web類繼承person類 (原型鏈繼承模式)function web()
var w=new web();
w.run(); //物件冒充可以繼承建構函式的屬性和方法
w.work(); // 原型鏈上的不行。!!!
原型鏈與建構函式的結合方式function web()
web.prototype = new person(); //原型鏈繼承類
var w = new web();
w.run(); //原型鏈可以繼承建構函式和原型鏈屬性和方法
w.work();
ps:function person(name, age)
} person.prototype.*** = '男'; // 原型鏈中增加方法
person.prototype.work = function ()
function web(name, age)
= new person(); //方法1:繼承person類
web.prototype = person.prototype; //方法2:直接繼承原型鏈父類即可
var w = new web('趙四', 20); //例項化子類無法給父類傳參。
w.run();
w.work();
1、es5類的建構函式與原型鏈,原型鏈上面的屬性可以被多個例項共享,建構函式不會。
2、es5類的繼承。原型鏈與物件冒充的繼承模式。
物件冒充模式:無法繼承父類原型鏈上的方法。
原型鏈模式:例項化子類無法給父類傳遞引數。
使用物件冒充與原型鏈結合模式繼承。
es5中的類 原型鏈 靜態方法 繼承
function person name,age 原型鏈上面的屬性和方法 原型鏈上繫結的屬性和方法和建構函式中的有什麼區別 原型鏈上的屬性和方法可以被多個例項共享 person.prototype.男 person.prototype.work function 靜態方法 person.setnam...
ES5和ES6類與繼承的區別聯絡
list item boolean number string array date function regexp error object 因為 es6 是先新建父類的例項物件this,然後再用子類的建構函式修飾this,使得父類的所有行為都可以繼承。例外 es6 改變了object建構函式的行...
ES5中的繼承(組合繼承)
es6中類的繼承使用extends關鍵字,那麼es5中是怎麼實現的呢?es5中採用建構函式和原型物件的組合方式模擬繼承,所以也稱為組合繼承 核心原理 通過call 借用父建構函式,並把父型別的this指向子型別的this 這種繼承,實際上是在呼叫子建構函式建立例項物件時,在子建構函式內呼叫了父建構函...