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

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

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

代碼如下:

//定義對(duì)象

function Animal(type)

{

this.name="";

this.type=type;

this.introduction=function(){

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

}

}

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

animal.name="小紅";

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

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

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

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

代碼如下:

//定義對(duì)象

var Book=

{

name:"紅樓夢(mèng)",

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

getAuthor:function()

{

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

}

}

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

Book.name="灌籃"; //修改對(duì)象屬性

alert(Book.name); //此時(shí),頁(yè)面會(huì)彈出:灌籃

相信大家看到代碼,應(yīng)該明白了為什么說(shuō)這個(gè)方法會(huì)高效一些了。因?yàn)椋喈?dāng)于定義了一個(gè)JavaScript全局變量。我們可以直接用它,不需要實(shí)例化它。但是,這樣看起來(lái)怪怪的啊。那么,解決方案來(lái)了。我們來(lái)看看第三種方法吧。

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

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

代碼如下:

//定義對(duì)象

var Gender=new function()

{

this.type="女生";

this.speaking=function()

{

return "我是"+this.type;

}

}

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

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

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

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

2025國(guó)考·省考課程試聽報(bào)名

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