javascript
JavaScript 访问对象属性和方法及区别
這篇文章主要介紹了淺析JavaScript訪問(wèn)對(duì)象屬性和方法及區(qū)別的相關(guān)資料,僅供參考
?
屬性是一個(gè)變量,用來(lái)表示一個(gè)對(duì)象的特征,如顏色、大小、重量等;方法是一個(gè)函數(shù),用來(lái)表示對(duì)象的操作,如奔跑、呼吸、跳躍等。
在JavaScript中通常使用”."運(yùn)算符來(lái)存取對(duì)象的屬性的值。或者使用[]作為一個(gè)關(guān)聯(lián)數(shù)組來(lái)存取對(duì)象的屬性。
對(duì)象的屬性和方法統(tǒng)稱為對(duì)象的成員。
訪問(wèn)對(duì)象的屬性
在JavaScript中,可以使用“ . ”和“ [ ] ”來(lái)訪問(wèn)對(duì)象的屬性。
1. 使用“ . ”來(lái)訪問(wèn)對(duì)象屬性
語(yǔ)法:
??? objectName.propertyName
其中,objectName 為對(duì)象名稱,propertyName為屬性名稱。
2. 使用“ [ ] ”來(lái)訪問(wèn)對(duì)象屬性
語(yǔ)法:
??? objectName[propertyName]
其中,objectName 為對(duì)象名稱,propertyName為屬性名稱。
訪問(wèn)對(duì)象的方法
在JavaScript中,只能使用“ . ”來(lái)訪問(wèn)對(duì)象的方法。
語(yǔ)法:
??? objectName.methodName()
其中,objectName 為對(duì)象名稱,methodName() 為函數(shù)名稱。
【例】創(chuàng)建一個(gè)Person類:
1 function Person() { 2 this.name=" 張三 "; // 定義一個(gè)屬性 name 3 this.sex=" 男 "; // 定義一個(gè)屬性 sex 4 this.age=22; // 定義一個(gè)屬性 age 5 this.say=function(){ // 定義一個(gè)方法 say() 6 return "嗨!大家好,我的名字是 " + this.name + " ,性別是 " + this.sex + ",今年 " + this.age +"歲!"; 7 } 8 } 9 var zhangsan=new Person(); 10 alert("姓名:"+zhangsan.name); // 使用“.”來(lái)訪問(wèn)對(duì)象屬性 11 alert("性別:"+zhangsan.sex); 12 alert("年齡:"+zhangsan["age"]); // 使用“[ ]”來(lái)訪問(wèn)對(duì)象屬性 13 alert(zhangsan.say); // 使用“.”來(lái)訪問(wèn)對(duì)象方法?
PS:淺析對(duì)象訪問(wèn)屬性的"."和"[]"方法區(qū)別
在JavaScript中通常使用”."運(yùn)算符來(lái)存取對(duì)象的屬性的值。或者使用[]作為一個(gè)關(guān)聯(lián)數(shù)組來(lái)存取對(duì)象的屬性。但是這兩種方式有什么區(qū)別了?
例如,讀取object中的property屬性值:
object.property
object['property']
以上兩種方式都可以實(shí)現(xiàn)屬性的存取。
1.語(yǔ)法方面的區(qū)別
點(diǎn)表示法的對(duì)象的屬性名是標(biāo)識(shí)符,而后者的屬性名則是一個(gè)字符串。
2.靈活性方面的區(qū)別
在JavaScript編寫程序中,可以為對(duì)象創(chuàng)建任意數(shù)目的屬性。但使用”.“運(yùn)算符來(lái)存取一個(gè)對(duì)象的屬性時(shí),屬性名是用標(biāo)識(shí)符表示的。而在JavaScript程序中,標(biāo)識(shí)符必須被逐字地輸入,它們不是一種數(shù)據(jù)類型,因此程序不能對(duì)其操作。也就是說(shuō),標(biāo)識(shí)符是靜態(tài)的,在程序中必須對(duì)其進(jìn)行硬編碼。
而使用數(shù)組[]表示法來(lái)存取一個(gè)對(duì)象的屬性時(shí),屬性名是用字符串表示的。字符串是JavaScript的一種數(shù)據(jù)類型,因此可以在程序運(yùn)行中操作并創(chuàng)建它們。
3.性能方面區(qū)別
數(shù)組[]表示法在存取屬性值時(shí)會(huì)進(jìn)行表達(dá)式運(yùn)行。而點(diǎn)表示法是直接存取屬性值,理論上執(zhí)行效率會(huì)比數(shù)組表示法高。性能方面其實(shí)可以忽略。
某些場(chǎng)景必須用到數(shù)組表示法來(lái)動(dòng)態(tài)存取屬性值,這個(gè)是點(diǎn)表示法無(wú)法做到的。
?
總的來(lái)說(shuō),這兩種方法區(qū)別上不大,都有對(duì)應(yīng)的使用場(chǎng)景。點(diǎn)表示法一般作為靜態(tài)對(duì)象使用時(shí)來(lái)存取屬性。而數(shù)組表示法在動(dòng)態(tài)存取屬性時(shí)就非常有用。
?
轉(zhuǎn)載于:https://www.cnblogs.com/lypyongpeng/p/7087086.html
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的JavaScript 访问对象属性和方法及区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python学习之-- redis模块管
- 下一篇: JavaScript HTML DOM