JavaScript 中的一切都是物件:字串、數字、陣列、日期,等等。
在 JavaScript 中,物件是擁有屬性和方法的資料。
JavaScript的物件是一種無序的集合資料類型,它由若干鍵值對組成。
物件定義
你可以使用字元來定義和建立JavaScript 物件:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(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>
物件屬性
可以說"JavaScript 物件是變數的容器" 。
但是,我們通常認為 "JavaScript 物件是鍵值對的容器"。
鍵值對通常寫法為 name : value (鍵與值以冒號分割)。
鍵值對在 JavaScript 物件通常稱為 物件屬性。
JavaScript 物件是屬性變數的容器。
物件鍵值對的寫法類似於:
PHP 中的關聯數組Python 中的字典C 語言中的雜湊表Java 中的雜湊映射Ruby 和Perl 中的雜湊表
JavaScript的物件是動態類型,你可以自由地為一個物件新增或刪除屬性:
var xiaoming = {
name: '小明'
};
xiaoming.age; // undefined
#xiaoming.age = 18; // 新增一個age屬性
xiaoming.age; // 18
delete xiaoming .age; // 刪除age屬性
xiaoming.age; // undefined
delete xiaoming['name']; // 刪除name屬性
xiaoming.name; // undefined
delete xiaoming.school; // 刪除一個不存在的school屬性也不會報錯誤
物件方法
物件的方法定義了一個函數,並作為物件的屬性儲存。
物件方法透過新增 () 呼叫 (作為一個函數)。
此實例存取了person 物件的fullName() 方法:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(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>
存取物件方法
你可以使用下列語法建立物件方法:
methodName : function() { code lines }
你可以使用下列語法存取物件方法:
objectName.methodName()
通常fullName() 是作為person 物件的一個方法, fullName 是作為一個屬性。
有多種方式可以創建,使用和修改 JavaScript 物件。
同樣也有多種方式用來創建,使用和修改屬性和方法。