JavaScript 對(duì)象
JavaScript 中的所有事物都是對(duì)象:字符串、數(shù)字、數(shù)組、日期,等等。
在 JavaScript 中,對(duì)象是擁有屬性和方法的數(shù)據(jù)。
JavaScript的對(duì)象是一種無(wú)序的集合數(shù)據(jù)類型,它由若干鍵值對(duì)組成。
對(duì)象定義
你可以使用字符來(lái)定義和創(chuàng)建 JavaScript 對(duì)象:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> <script language="JavaScript"> var person = new Object(); person.name="kevin"; person.age=31; alert(person.name); alert(person["age"]) </script> </head> <body> </body> </html>
對(duì)象屬性
可以說(shuō) "JavaScript 對(duì)象是變量的容器"。
但是,我們通常認(rèn)為 "JavaScript 對(duì)象是鍵值對(duì)的容器"。
鍵值對(duì)通常寫法為 name : value (鍵與值以冒號(hào)分割)。
鍵值對(duì)在 JavaScript 對(duì)象通常稱為 對(duì)象屬性。
JavaScript 對(duì)象是屬性變量的容器。
對(duì)象鍵值對(duì)的寫法類似于:
PHP 中的關(guān)聯(lián)數(shù)組Python 中的字典C 語(yǔ)言中的哈希表Java 中的哈希映射Ruby 和 Perl 中的哈希表
JavaScript的對(duì)象是動(dòng)態(tài)類型,你可以自由地給一個(gè)對(duì)象添加或刪除屬性:
var xiaoming = {
name: '小明'
};
xiaoming.age; // undefined
xiaoming.age = 18; // 新增一個(gè)age屬性
xiaoming.age; // 18
delete xiaoming.age; // 刪除age屬性
xiaoming.age; // undefined
delete xiaoming['name']; // 刪除name屬性
xiaoming.name; // undefined
delete xiaoming.school; // 刪除一個(gè)不存在的school屬性也不會(huì)報(bào)錯(cuò)
對(duì)象方法
對(duì)象的方法定義了一個(gè)函數(shù),并作為對(duì)象的屬性存儲(chǔ)。
對(duì)象方法通過(guò)添加 () 調(diào)用 (作為一個(gè)函數(shù))。
該實(shí)例訪問(wèn)了 person 對(duì)象的 fullName() 方法:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <p id="demo"></p> <script> var person = { firstName: "Tom", lastName : "Jay", id : 666, fullName : function() { return this.firstName + " and " + this.lastName; } }; document.getElementById("demo").innerHTML = person.fullName(); </script> </body> </html>
訪問(wèn)對(duì)象方法
你可以使用以下語(yǔ)法創(chuàng)建對(duì)象方法:
methodName : function() { code lines }
你可以使用以下語(yǔ)法訪問(wèn)對(duì)象方法:
objectName.methodName()
通常 fullName() 是作為 person 對(duì)象的一個(gè)方法, fullName 是作為一個(gè)屬性。
有多種方式可以創(chuàng)建,使用和修改 JavaScript 對(duì)象。
同樣也有多種方式用來(lái)創(chuàng)建,使用和修改屬性和方法。