javascript 寫類方式之二
更新時間:2009年07月05日 01:25:42 作者:
javascript 寫類方式之二
2、原型方式
/**
* Person類:定義一個人,有個屬性name,和一個getName方法
*/
function Person(){}
Person.prototype.name = "jack";
Person.prototype.getName = function() { return this.name;}
把類的屬性(字段),方法都掛在prototype上。
造幾個對象測試下:
var p1 = new Person();
var p2 = new Person();
console.log(p1.getName());//jack
console.log(p2.getName());//jack
復(fù)制代碼 代碼如下:
/**
* Person類:定義一個人,有個屬性name,和一個getName方法
*/
function Person(){}
Person.prototype.name = "jack";
Person.prototype.getName = function() { return this.name;}
把類的屬性(字段),方法都掛在prototype上。
造幾個對象測試下:
復(fù)制代碼 代碼如下:
var p1 = new Person();
var p2 = new Person();
console.log(p1.getName());//jack
console.log(p2.getName());//jack
可以看出輸出的都是jack,所以原型方式的缺點就是不能通過參數(shù)來構(gòu)造對象實例 (一般每個對象的屬性是不相同的) ,優(yōu)點是所有對象實例都共享getName方法(相對于構(gòu)造函數(shù)方式),沒有造成內(nèi)存浪費 。
相關(guān)文章
從面試題學(xué)習(xí)Javascript 面向?qū)ο螅▌?chuàng)建對象)
從面試題學(xué)習(xí)Javascript 面向?qū)ο螅▌?chuàng)建對象),學(xué)習(xí)js的朋友可以參考下2012-03-03
JavaScript面向?qū)ο笤O(shè)計二 構(gòu)造函數(shù)模式
在Javascript面向?qū)ο笤O(shè)計一——工廠模式 中介紹了使用CreateEmployee()函數(shù)創(chuàng)建員工類。ECMAScript中的構(gòu)造函數(shù)可以用來創(chuàng)建特定類型的對象,如Object和Array這樣的原生構(gòu)造函數(shù),在運行時會自動出現(xiàn)在執(zhí)行環(huán)境中,此外也可以創(chuàng)建自定義的構(gòu)造函數(shù),從而創(chuàng)建自定義對象類型的屬性和方法2011-12-12
JavaScript面向?qū)ο笾o態(tài)與非靜態(tài)類
使用JavaScript面向?qū)ο笸耆鲇谂既?,因為大部分時間我都是在無圖形界面的環(huán)境下工作,有時候就算是介入了web客戶端的工作的時候,在寫js和ajax時,最多的也只是寫寫function,從沒有考慮過要使用JavaScript面向?qū)ο筮@么高級的技巧。2010-02-02
面向?qū)ο蟮腏avascript之二(接口實現(xiàn)介紹)
接口是面向?qū)ο驤avascript工具箱中最有用的特性之一。我們都知道GOF在設(shè)計模式中說到:面向接口編程,而非面向?qū)崿F(xiàn)編程2012-01-01

