一般來說,可以創建並使用的對象有三種:本地對象、內置對象和宿主對象。
本地對象
ECMA-262 把本地對象(native object)定義為“獨立於宿主環境的 ECMAScript 實現提供的對象”。簡單來說,本地對象就是 ECMA-262 定義的類(引用類型)。它們包括:
- Object
- Function
- Array
- String
- Boolean
- Number
- Date
- RegExp
- Error
- EvalError
- RangeError
- ReferenceError
- SyntaxError
- TypeError
- URIError
內置對象
JS中內置了17個對象,常用的是Array對象、Date對象、正則表達式對象、string對象、Global對象
Array對象中常用方法:
Concat():表示把幾個數組合並成一個數組。
Join():返回字符串值,其中包含了連接到一起的數組的所有元素,元素由指定的分隔符分隔開來。
Pop():移除數組最后一個元素。
Shift():移除數組中第一個元素。
Slice(start,end):返回數組中的一段。
Push():往數組中新添加一個元素,返回最新長度。
Sort():對數組進行排序。
Reverse():反轉數組的排序。
toLocaleString();返回當前系統時間
Array對象屬性常用的只有一個:
Length:表示取得當前數組長度
Global對象
是一個固有對象,目的是把所有的全局方法集中在一個對象中。
Global沒有語法,直接調用其方法。
escape(): 對 String 對象編碼以便它們能在所有計算機上可讀.
escape(charString)
必選項 charstring 參數是要編碼的任意 String 對象或文字。
isNaN():判斷一個值是否是NaN。
parseInt():返回由字符串得到的整數
正則表達式對象
本對象包含正則表達式模式以及表明如何應用模式的標志。
語法 1
re = /pattern/[flags]
語法 2
re = new RegExp("pattern",["flags"])
re為將要賦值正則表達式模式的變量名
pattern為正則表達式
flags為標記:有如下3中
1:g(全文查找)
2:i(忽略大小寫)
3:m(多行查找)
當預先知道查找字符串時用語法 1。當查找字符串經常變動或不知道時用語法 2,比如由用戶輸入得到的字符串。
String對象
charAt():返回指定索引的位置的字符
concat():返回字符串值,表示兩個或多個字符串的連接
match():使用正則表達式模式對字符串執行查找,並將包含查找結果最為結果返回
function MatchDemo(){
var r, re; // 聲明變量。
var s = "The rain in Spain falls mainly in the plain";
re = /ain/i; // 創建正則表達式模式。
r = s.match(re); // 嘗試匹配搜索字符串。
return(r); // 返回第一次出現 "ain" 的地方。
}
Replace(a,b):字符b替換a
Search(stringObject):指明是否存在相應的匹配。如果找到一個匹配,search 方法將返回一個整數值,指明這個匹配距離字符串開始的偏移位置。如果沒有找到匹配,則返回 -1。
Slice(start,end):返回字符段片段
Split():字符串拆分
Substr(start,length):字符串截取
Substring(start,end)取得指定長度內的字符串
toUpperCase():返回一個字符串,該字符串中的所有字母都被轉化為大寫字母。
toLowerCase():返回一個字符串,該字符串中的所有字母都被轉化為小寫字母。
Math對象
ceil():向上取整。
floor():向下取整。
round():四舍五入。
random():取隨機數。
Date對象
get/setDate():返回或設置日期。
get/setFullYear():返回或設置年份,用四位數表示。
get/setYear():返回或設置年份。
get/setMonth():返回或設置月份。0為一月
get/setHours():返回或設置小時,24小時制
get/setMinutes():返回或設置分鍾數。
get/setSeconds():返回或設置秒鍾數。
get/setTime():返回或設置時間(毫秒為單位)
宿主對象
宿主”就是我們網頁的運行環境,即“操作系統”和“瀏覽器”。
所有非本地對象都是宿主對象(host object),即由 ECMAScript 實現的宿主環境提供的對象。
所有的BOM和DOM對象都是宿主對象。因為其對於不同的“宿主”環境所展示的內容不同。其實說白了就是,ECMAScript官方未定義的對象都屬於宿主對象,因為其未定義的對象大多數是自己通過ECMAScript程序創建的對象。