JavaScript 是使用“對象化編程”的,或者叫“面向對象編程”的。所謂“對象化編程”,意思是把 JavaScript 能涉及的范圍劃分成大大小小的對象,對象下面還繼續劃分對象直至非常詳細為止,所有的編程都以對象為出發點,基於對象。小到一個變量,大到網頁文檔、窗口甚至屏幕,都是對象。這一章將“面向對象”講述 JavaScript 的運行情況。
對象的基本知識
對象是可以從 JavaScript“勢力范圍”中劃分出來的一小塊,可以是一段文字、一幅圖片、一個表單(Form)等等。每個對象有它自己的屬性、方法和事件。對象的屬性是反映該對象某些特定的性質的,例如:字符串的長度、圖像的長寬、文字框(Textbox)裡的文字等等;對象的方法能對該對象做一些事情,例如,表單的“提交”(Submit),窗口的“滾動”(Scrolling)等等;而對象的事件就能響應發生在對象上的事情,例如提交表單產生表單的“提交事件”,點擊連接產生的“點擊事件”。不是所有的對象都有以上三個性質,有些沒有事件,有些只有屬性。引用對象的任一“性質”用“<對象名>.<性質名>”這種方法。
基本對象
現在我們要復習以上學過的內容了——把一些數據類型用對象的角度重新學習一下。
Number “數字”對象。這個對象用得很少,作者就一次也沒有見過。不過屬於“Number”的對象,也就是“變量”就多了。
屬性String 字符串對象。聲明一個字符串對象最簡單、快捷、有效、常用的方法就是直接賦值。
MAX_VALUE 用法:Number.MAX_VALUE;返回“最大值”。
MIN_VALUE 用法:Number.MIN_VALUE;返回“最小值”。
NaN 用法:Number.NaN 或 NaN;返回“NaN”。“NaN”(不是數值)在很早就介紹過了。
NEGATIVE_INFINITY 用法:Number.NEGATIVE_INFINITY;返回:負無窮大,比“最小值”還小的值。
POSITIVE_INFINITY 用法:Number.POSITIVE_INFINITY;返回:正無窮大,比“最大值”還大的值。
方法
toString() 用法:<數值變量>.toString();返回:字符串形式的數值。如:若 a == 123;則 a.toString() == '123'。
屬性
length 用法:<字符串對象>.length;返回該字符串的長度。
方法
charAt() 用法:<字符串對象>.charAt(<位置>);返回該字符串位於第<位置>位的單個字符。注意:字符串中的一個字符是第 0 位的,第二個才是第 1 位的,最後一個字符是第 length - 1 位的。
charCodeAt() 用法:<字符串對象>.charCodeAt(<位置>);返回該字符串位於第<位置>位的單個字符的 ASCII 碼。
fromCharCode() 用法:String.fromCharCode(a, b, c...);返回一個字符串,該字符串每個字符的 ASCII 碼由 a, b, c... 等來確定。
indexOf() 用法:<字符串對象>.indexOf(<另一個字符串對象>[, <起始位置>]);該方法從<字符串對象>中查找<另一個字符串對象>(如果給出<起始位置>就忽略之前的位置),如果找到了,就返回它的位置,沒有找到就返回“-1”。所有的“位置”都是從零開始的。
lastIndexOf() 用法:<字符串對象>.lastIndexOf(<另一個字符串對象>[, <起始位置>]);跟 indexOf() 相似,不過是從後邊開始找。
split() 用法:<字符串對象>.split(<分隔符字符>);返回一個數組,該數組是從<字符串對象>中分離開來的,<分隔符字符>決定了分離的地方,它本身不會包含在所返回的數組中。例如:'1&2&345&678'.split('&')返回數組:1,2,345,678。關於數組,我們等一下就討論。
substring() 用法:<字符串對象>.substring(<始>[, <終>]);返回原字符串的子字符串,該字符串是原字符串從<始>位置到<終>位置的前一位置的一段。<終> - <始> = 返回字符串的長度(length)。如果沒有指定<終>或指定得超過字符串長度,則子字符串從<始>位置一直取到原字符串尾。如果所指定的位置不能返回字符串,