javascript 寫(xiě)類(lèi)方式之二
/**
* Person類(lèi):定義一個(gè)人,有個(gè)屬性name,和一個(gè)getName方法
*/
function Person(){}
Person.prototype.name = "jack";
Person.prototype.getName = function() { return this.name;}
把類(lèi)的屬性(字段),方法都掛在prototype上。
造幾個(gè)對(duì)象測(cè)試下:
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) 。
相關(guān)文章
從面試題學(xué)習(xí)Javascript 面向?qū)ο螅▌?chuàng)建對(duì)象)
從面試題學(xué)習(xí)Javascript 面向?qū)ο螅▌?chuàng)建對(duì)象),學(xué)習(xí)js的朋友可以參考下2012-03-03javascript 面向?qū)ο缶幊?萬(wàn)物皆對(duì)象
javascript幾乎成了如今web開(kāi)發(fā)人員必學(xué)必會(huì)的一門(mén)語(yǔ)言,但很多人卻只停在了一些表單驗(yàn)證等基礎(chǔ)操作層面上,在面向?qū)ο笳Z(yǔ)言大行其道的當(dāng)下,我們需要去學(xué)習(xí)javascript的面向?qū)ο蟮闹R(shí),以便更好的掌握javascript、為深入理解各種腳本框架打好基礎(chǔ)。2009-09-09JavaScript面向?qū)ο笤O(shè)計(jì)二 構(gòu)造函數(shù)模式
在Javascript面向?qū)ο笤O(shè)計(jì)一——工廠模式 中介紹了使用CreateEmployee()函數(shù)創(chuàng)建員工類(lèi)。ECMAScript中的構(gòu)造函數(shù)可以用來(lái)創(chuàng)建特定類(lèi)型的對(duì)象,如Object和Array這樣的原生構(gòu)造函數(shù),在運(yùn)行時(shí)會(huì)自動(dòng)出現(xiàn)在執(zhí)行環(huán)境中,此外也可以創(chuàng)建自定義的構(gòu)造函數(shù),從而創(chuàng)建自定義對(duì)象類(lèi)型的屬性和方法2011-12-12JavaScript面向?qū)ο笾o態(tài)與非靜態(tài)類(lèi)
使用JavaScript面向?qū)ο笸耆鲇谂既?,因?yàn)榇蟛糠謺r(shí)間我都是在無(wú)圖形界面的環(huán)境下工作,有時(shí)候就算是介入了web客戶(hù)端的工作的時(shí)候,在寫(xiě)js和ajax時(shí),最多的也只是寫(xiě)寫(xiě)function,從沒(méi)有考慮過(guò)要使用JavaScript面向?qū)ο筮@么高級(jí)的技巧。2010-02-02面向?qū)ο蟮腏avascript之二(接口實(shí)現(xiàn)介紹)
接口是面向?qū)ο驤avascript工具箱中最有用的特性之一。我們都知道GOF在設(shè)計(jì)模式中說(shuō)到:面向接口編程,而非面向?qū)崿F(xiàn)編程2012-01-01面向?qū)ο蟮木幊趟枷朐趈avascript中的運(yùn)用上部
對(duì)于正在從事或者打算從事編程的人來(lái)說(shuō),面向?qū)ο笫且粋€(gè)耳熟能詳?shù)脑~,幾乎每一個(gè)人都能列舉出一些面向?qū)ο蟮木幊陶Z(yǔ)言,例如C++,JAVA,C#等等。2009-11-11