javascript對(duì)象的創(chuàng)建和訪問(wèn)
JavaScript,很少能讓人想到它面向?qū)ο蟮奶匦?,甚至有人說(shuō)它不是面向?qū)ο蟮恼Z(yǔ)言,因?yàn)樗鼪](méi)有類。沒(méi)錯(cuò), JavaScript 真的沒(méi)有類,但 JavaScript 是面向?qū)ο蟮恼Z(yǔ)言。 JavaScript 只有對(duì)象,對(duì)象就是對(duì)象,不是類的實(shí)例。
因?yàn)榻^大多數(shù)面向?qū)ο笳Z(yǔ)言中的對(duì)象都是基于類的,所以經(jīng)常有人混淆類的實(shí)例與對(duì)象的概念。對(duì)象就是類的實(shí)例,這在大多數(shù)語(yǔ)言中都沒(méi)錯(cuò),但在 JavaScript 中卻不適用。JavaScript 中的對(duì)象是基于原型的。
創(chuàng)建和訪問(wèn)
JavaScript 中的對(duì)象實(shí)際上就是一個(gè)由屬性組成的關(guān)聯(lián)數(shù)組,屬性由名稱和值組成,值的類型可以是任何數(shù)據(jù)類型,或者函數(shù)和其他對(duì)象。注意 JavaScript 具有函數(shù)式編程的特性,所以函數(shù)也是一種變量,大多數(shù)時(shí)候不用與一般的數(shù)據(jù)類型區(qū)分。
在 JavaScript 中,你可以用以下方法創(chuàng)建一個(gè)簡(jiǎn)單的對(duì)象:
var foo = {}; foo.prop_1 = 'bar'; foo.prop_2 = false; foo.prop_3 = function() { return 'hello world'; } console.log(foo.prop_3());
以上代碼中,我們通過(guò) var foo = {}; 創(chuàng)建了一個(gè)對(duì)象,并將其引用賦值給 foo,
通過(guò) foo.prop1 來(lái)獲取它的成員并賦值,其中 {} 是對(duì)象字面量的表示方法,也可以用 var foo = new Object() 來(lái)顯式地創(chuàng)建一個(gè)對(duì)象。
1. 使用關(guān)聯(lián)數(shù)組訪問(wèn)對(duì)象成員
我們還可以用關(guān)聯(lián)數(shù)組的模式來(lái)創(chuàng)建對(duì)象,以上代碼修改為:
var foo = {}; foo['prop1'] = 'bar'; foo['prop2'] = false; foo['prop3'] = function() { return 'hello world'; }
在 JavaScript 中,使用句點(diǎn)運(yùn)算符和關(guān)聯(lián)數(shù)組引用是等價(jià)的,也就是說(shuō)任何對(duì)象(包括
this 指針)都可以使用這兩種模式。使用關(guān)聯(lián)數(shù)組的好處是,在我們不知道對(duì)象的屬性名稱的時(shí)候,可以用變量來(lái)作為關(guān)聯(lián)數(shù)組的索引。例如:
var some_prop = 'prop2'; foo[some_prop] = false;
2.使用對(duì)象初始化器創(chuàng)建對(duì)象
上述的方法只是讓你對(duì)JavaScript對(duì)象的定義有個(gè)了解,真正在使用的時(shí)候,我們會(huì)采用下面這種更加緊湊明了的方法:
var foo = { 'prop1': 'bar', prop2: 'false', prop3: function (){ return 'hello world'; } };
這種定義的方法稱為對(duì)象的初始化器。注意,使用初始化器時(shí),對(duì)象屬性名稱是否加引號(hào)是可選的,除非屬性名稱中有空格或者其他可能造成歧義的字符,否則沒(méi)有必要使用引號(hào)。
以上就是javascript創(chuàng)建和訪問(wèn)對(duì)象的實(shí)現(xiàn)方法,希望對(duì)大家的學(xué)習(xí)有所幫助。
- JS中多種方式創(chuàng)建對(duì)象詳解
- javascript創(chuàng)建對(duì)象、對(duì)象繼承的實(shí)用方式詳解
- JS創(chuàng)建對(duì)象幾種不同方法詳解
- js創(chuàng)建對(duì)象的方法匯總
- 學(xué)習(xí)javascript面向?qū)ο?掌握創(chuàng)建對(duì)象的9種方式
- 一種新的javascript對(duì)象創(chuàng)建方式Object.create()
- JavaScript創(chuàng)建對(duì)象的方式小結(jié)(4種方式)
- 詳解JavaScript基于面向?qū)ο笾畡?chuàng)建對(duì)象(2)
- JavaScript中對(duì)象的不同創(chuàng)建方法
相關(guān)文章
完美解決input[type=number]無(wú)法顯示非數(shù)字字符的問(wèn)題
下面小編就為大家?guī)?lái)一篇完美解決input[type=number]無(wú)法顯示非數(shù)字字符的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02JS兼容瀏覽器的導(dǎo)出Excel(CSV)文件的方法
項(xiàng)目中經(jīng)常需要導(dǎo)出Excel文件,不在服務(wù)器端處理而是富客戶端采用Javascript腳本處理數(shù)據(jù)并導(dǎo)出文件2014-05-05JS實(shí)現(xiàn)兩個(gè)跨域頁(yè)面實(shí)現(xiàn)量子糾纏互動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了如何利用JavaScript實(shí)現(xiàn)兩個(gè)跨域頁(yè)面實(shí)現(xiàn)量子糾纏互動(dòng)效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-12-12微信小程序?qū)崿F(xiàn)九宮格翻牌動(dòng)畫
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)九宮格翻牌動(dòng)畫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04javascript中Date()函數(shù)在各瀏覽器中的顯示效果
本文給大家分享的是javascript中Date()函數(shù)在各瀏覽器中的顯示效果,由于各大瀏覽器的兼容性問(wèn)題,本文做了這個(gè)測(cè)試,希望有需要的小伙伴可以少走些彎路2015-06-06原生ajax處理json格式數(shù)據(jù)的實(shí)例代碼
這篇文章主要介紹了原生ajax處理json格式數(shù)據(jù)的實(shí)例代碼,需要的朋友可以參考下2016-12-12webpack4實(shí)現(xiàn)不同的導(dǎo)出類型
這篇文章主要介紹了webpack4實(shí)現(xiàn)不同的導(dǎo)出類型,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04博客側(cè)邊欄模塊跟隨滾動(dòng)條滑動(dòng)固定效果的實(shí)現(xiàn)方法(js+jquery等)
現(xiàn)在很多的獨(dú)立博客和網(wǎng)站如人人網(wǎng)等,都使用了讓側(cè)邊欄模塊隨滾動(dòng)條滑動(dòng)而位置固定的效果2013-03-03JavaScript中用字面量創(chuàng)建對(duì)象介紹
這篇文章主要介紹了JavaScript中用字面量創(chuàng)建對(duì)象介紹,本文直接給出代碼實(shí)例,并講解了一些技巧,需要的朋友可以參考下2014-12-12