JavaScript 對象
JavaScript 中的所有事物都是對象:字符串、數(shù)字、數(shù)組、日期,等等。
在 JavaScript 中,對象是擁有屬性和方法的數(shù)據(jù)。
屬性和方法
屬性是與對象相關(guān)的值。
方法是能夠在對象上執(zhí)行的動作。
舉例:汽車就是現(xiàn)實生活中的對象。
汽車的屬性:
car.name=Fiat car.model=500 car.weight=850kg car.color=white
汽車的方法:
car.start() car.drive() car.brake()
汽車的屬性包括名稱、型號、重量、顏色等。
所有汽車都有這些屬性,但是每款車的屬性都不盡相同。
汽車的方法可以是啟動、駕駛、剎車等。
所有汽車都擁有這些方法,但是它們被執(zhí)行的時間都不盡相同。
JavaScript 中的對象
在 JavaScript 中,對象是數(shù)據(jù)(變量),擁有屬性和方法。
當您像這樣聲明一個 JavaScript 變量時:
var txt = "Hello";
您實際上已經(jīng)創(chuàng)建了一個 JavaScript 字符串對象。字符串對象擁有內(nèi)建的屬性 length。對于上面的字符串來說,length 的值是 5。字符串對象同時擁有若干個內(nèi)建的方法。
屬性:
txt.length=5
方法:
txt.indexOf() txt.replace() txt.search()
提示:在面向?qū)ο蟮恼Z言中,屬性和方法常被稱為對象的成員。
在本教程稍后的章節(jié)中,您將學(xué)到有關(guān)字符串對象的更多屬性和方法。
創(chuàng)建 JavaScript 對象
JavaScript 中的幾乎所有事務(wù)都是對象:字符串、數(shù)字、數(shù)組、日期、函數(shù),等等。
你也可以創(chuàng)建自己的對象。
本例創(chuàng)建名為 "person" 的對象,并為其添加了四個屬性:
實例
person=new Object(); person.firstname="Bill"; person.lastname="Gates"; person.age=56; person.eyecolor="blue";
創(chuàng)建新 JavaScript 對象有很多不同的方法,并且您還可以向已存在的對象添加屬性和方法。
您將在本教程稍后的章節(jié)學(xué)到更多相關(guān)的內(nèi)容。
訪問對象的屬性
訪問對象屬性的語法是:
objectName.propertyName
本例使用 String 對象的 length 屬性來查找字符串的長度:
var message="Hello World!"; var x=message.length;
在以上代碼執(zhí)行后,x 的值是:
12
訪問對象的方法
您可以通過下面的語法調(diào)用方法:
objectName.methodName()
這個例子使用 String 對象的 toUpperCase() 方法來把文本轉(zhuǎn)換為大寫:
var message="Hello world!"; var x=message.toUpperCase();
在以上代碼執(zhí)行后,x 的值是:
HELLO WORLD!
您知道嗎?
提示:在面向?qū)ο蟮恼Z言中,使用 camel-case 標記法的函數(shù)是很常見的。您會經(jīng)常看到 someMethod() 這樣的函數(shù)名,而不是 some_method()。
課外書
如需更多有關(guān) JavaScript 對象的知識,請閱讀 JavaScript 高級教程中的相關(guān)內(nèi)容:
- ECMAScript 面向?qū)ο蠹夹g(shù)
- 本節(jié)簡要介紹了面向?qū)ο蠹夹g(shù)的術(shù)語、面向?qū)ο笳Z言的要求以及對象的構(gòu)成。
- ECMAScript 對象應(yīng)用
- 本節(jié)講解了如何聲明和實例化對象,如何引用和廢除對象,以及綁定的概念。
- ECMAScript 對象類型
- 本節(jié)介紹了 ECMAScript 的三種類型:本地對象、內(nèi)置對象和宿主對象,并提供了指向相關(guān)參考手冊的鏈接。
- ECMAScript 對象作用域
- 本節(jié)講解了 ECMAScript 作用域以及 this 關(guān)鍵字。
- ECMAScript 修改對象
- 本節(jié)講解了如何通過創(chuàng)建新方法或重定義已有方法來修改對象。