創(chuàng)建、調(diào)用JavaScript對象的方法集錦
來源:易賢網(wǎng) 閱讀:707 次 日期:2014-12-26 14:51:10
溫馨提示:易賢網(wǎng)小編為您整理了“創(chuàng)建、調(diào)用JavaScript對象的方法集錦”,方便廣大網(wǎng)友查閱!

今天在做項目時,遇到了需要創(chuàng)建JavaScript對象的情況。所以Bing了一篇老外寫的關(guān)于3種創(chuàng)建JavaScript對象的文章,看后跟著打了一遍代碼。感覺方法挺好的,在這里與大家分享一下。

一、利用函數(shù)創(chuàng)建對象:

代碼如下:

//定義對象

function Animal(type)

{

this.name="";

this.type=type;

this.introduction=function(){

return "我的名字是: "+this.name+",我屬于 "+this.type;

}

}

var animal=new Animal("家禽"); //實例化我們上面創(chuàng)建的對象

animal.name="小紅";

alert(animal.introduction()); //調(diào)用它的introduction函數(shù)(此時,頁面會彈出:我的名字是 小紅,我屬于 家禽);

這種方法,大家一定都很熟悉了。但是,使用這種方法會造成性能的損耗。在這里,我們是通過new關(guān)鍵子來實例化對象的。其實,new關(guān)鍵子是做了兩件事。一,定義了一個匿名方法(Animal)。二、調(diào)用它。這樣就不如我們接下來要介紹的方法高效了。

二、利用對象字面量(object literals):

不知道翻譯的對不對,待會我會把原文地址告訴大家,有興趣的可以看原文。

代碼如下:

//定義對象

var Book=

{

name:"紅樓夢",

type:"文學(xué)作品",

getAuthor:function()

{

return :"我是曹雪芹的孩子!";

}

}

alert(Book.GetAuthor()); //調(diào)用對象方法,此時頁面會出現(xiàn):我是曹雪芹的孩子。

Book.name="灌籃"; //修改對象屬性

alert(Book.name); //此時,頁面會彈出:灌籃

相信大家看到代碼,應(yīng)該明白了為什么說這個方法會高效一些了。因為,它相當(dāng)于定義了一個JavaScript全局變量。我們可以直接用它,不需要實例化它。但是,這樣看起來怪怪的啊。那么,解決方案來了。我們來看看第三種方法吧。

三、單例模式(Singleton using a function):

翻譯成單例模式,可能不是太妥。先看代碼吧:

代碼如下:

//定義對象

var Gender=new function()

{

this.type="女生";

this.speaking=function()

{

return "我是"+this.type;

}

}

alert(Gender.speaking();) //使用對象 此時頁面會出現(xiàn):我是女生。

大家看這段兒代碼,是不是與我們的方法一很像呢?但是,它可像方法一那樣工作的。方法一,用一次對象,就要創(chuàng)建一次對象。這個方法,創(chuàng)建一次對象,就可以永久使用。所以,這種方式,很類似于設(shè)計模式中的單例模式。

更多信息請查看IT技術(shù)專欄

更多信息請查看腳本欄目
易賢網(wǎng)手機(jī)網(wǎng)站地址:創(chuàng)建、調(diào)用JavaScript對象的方法集錦
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機(jī)號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報警專用圖標(biāo)