|
復(fù)制代碼 代碼如下:
/**
* Person類:定義一個(gè)人,有個(gè)屬性name,和一個(gè)getName方法
*/
function Person(){}
Person.prototype.name = "jack";
Person.prototype.getName = function() { return this.name;}
把類的屬性(字段),方法都掛在prototype上。
造幾個(gè)對(duì)象測(cè)試下:
復(fù)制代碼 代碼如下:
var p1 = new Person();
var p2 = new Person();
console.log(p1.getName());//jack
console.log(p2.getName());//jack
可以看出輸出的都是jack,所以原型方式的缺點(diǎn)就是不能通過(guò)參數(shù)來(lái)構(gòu)造對(duì)象實(shí)例 (一般每個(gè)對(duì)象的屬性是不相同的) ,優(yōu)點(diǎn)是所有對(duì)象實(shí)例都共享getName方法(相對(duì)于構(gòu)造函數(shù)方式),沒(méi)有造成內(nèi)存浪費(fèi) 。
JavaScript技術(shù):javascript 寫類方式之二,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。