JavaScript中對象類型的彙總及相關方法的簡介

     在 ECMAScript 中,所有對象並非同等創建的。

     一般來說,可以創建並使用的對象有三種:本地對象、內置對象和宿主對象。


   一、 本地對象

    ECMA-262 把本地對象(native object)定義爲“獨立於宿主環境的 ECMAScript 實現提供的對象”。簡單來說,本地對象就是 ECMA-262     定義的類

常用的本地對象有Function、Array、String、Boolean、Number、Date、RegExp、Error、Object。

   本地對象常用的方法可彙總如下:

    Array:

    push()//從數組的尾部插入元素

    pop()// 從數組的尾部插入元素

    unshift()//從數組的頭部插入元素

    shift()//從數組的頭部刪除元素

    slice()//獲取數組中的子數組

    splice()//可以插入、刪除、替換數組中的元素

    concat()//返回合併後的新數組

    indexOf()//返回數組的下標,如果不存在則返回-1

    join()//返回一個由連字符和數組元素組成的字符串

    String:

    indexOf()//返回數組的下標,如果不存在則返回-1

    charAt()//返回字符串中指定下標的字符

    concat()//返回合併後的新字符串

    split()//根據指定字符將字符串分割成一個數組

    substring()//返回字符串中的子字符串

    search()   //參數是一個正則表達式,返回第一個與之匹配的子串的起始位置,如果找不到匹配的子串,它將返回-1.如果參數不是正則表達式,則首先會通過RegExp構造函數將它轉換爲正則表達式,該方法不支持全局檢索,因爲它忽略正則表達式中的修飾符g

    replace()  //方法用以執行檢索與替換操作。其中第一個參數是一個正則表達式,第二個參數是要進行替換的字符串。如果第一個參數是字符串而不是正則表達式,則將直接搜索這個字符串,而不像search()一樣首先通過RegExp()將它轉換爲正則表達式。

    match()  //該方法的參數是一個正則表達式,返回的是一個由匹配結果組成的數組。如果該正則表達式設置了修飾符g ,則該方法返回的數組包含字符串中的所有匹配結果。但如果沒有設置修飾符g,match()就不會進行全局檢索,它只檢索第一個匹配。但即使match()執行的不是全局檢索,它也返回 一個數組。在這種情況下,數組的第一個元素就是匹配的字符串,餘下的元素則是正則表達式中用圓括號括起來的子表達式。

    Date:

    getTime()//返回自1970年以來所經歷的毫秒數。也可以 +new Date()的方式獲得其毫秒數

    setTime()//將毫秒數轉換爲日期格式

    getFullYears()//返回年份

    getMonth()//返回月份,以0開始,0代表1月,依此類推

    getDate()//返回日期

    getDay()//返回星期數,0代表星期日

    RegExp:

    RegExp對象定義了兩個用於執行模式匹配操作的方法。其中最主要的執行模式匹配的方法是exec(),該方法的參數是一個字符串,exec()方法對一個指定的字符串執行一個正則表達式,簡言之,就是在一個字符串中執行匹配檢索。如果它沒有找到任何匹配,就返回null,但如果它找到一個匹配,它將返回一個數組。這個數組的第一個元素包含的是與正則表達式相匹配的字符串,餘下的元素是與圓括號內的子表達式相匹配的子串。屬性index包含了發生匹配的字符位置,屬性input引用的是正在檢索的字符串。

   exec()方法的使用示例:

                        var pattern=/Java/g;
var text="JavaScript is more fun than Java!";
var result;
while((result=pattern.exec(text))!=null){
alert("Matched '"+result[0]+"'"+
" at position "+result.index+"; next search begins at "+pattern.lastIndex);
}

    另外一個方法是test(),它的參數是一個字符串,用test()對某個字符串進行檢測,如果包含正則表達式的一個匹配結果,則返回true:

     


    二、 內置對象

    ECMA-262 把內置對象(built-in object)定義爲“由 ECMAScript 實現提供的、獨立於宿主環境的所有對象,在 ECMAScript 程序開始執行時出現”。這意味着開發者不必明確實例化內置對象,它已被實例化了。ECMA-262 只定義了兩個內置對象,即 Global 和 Math (它們也是本地對象,根據定義,每個內置對象都是本地對象)。

    其中Math內置對象常用方法有:

    1、Math.min()和Math.max(),可以獲得一個數據集的最小值和最大值。

    2、Math.abs(),返回參數的絕對值 。

    3、Math.random(),產生一個0到1的隨機數 

    random()方法的用途很多,其中之一是,清除緩存,如:window.open("http://www.***.com/index.shtml?t="+Math.random)  //在url地址後面加上一個值爲隨即數的參數,能保證頁面每次都從服務器上重新拉取,而不是讀取緩存。 

    4、Math.floor(),Math.round(),Math.ceil() 
     Math.floor():把小數向下舍入成整數    例:alert(Math.floor(1.5))  //輸出"1" 
     Math.round():把小數標準四捨五入成整數  例:alert(Math.round(1.5))  //輸出"2" 
     Math.ceil():把小數向上舍入成整數  例:alert(Math.round(1.5))  //輸出"2" 


     三、宿主對象

    所有非本地對象都是宿主對象(host object),即由 ECMAScript 實現的宿主環境提供的對象。

所有 BOM 和 DOM 對象都是宿主對象。

  其中DOM是一個使程序和腳本有能力動態地訪問和更新文檔的內容、結構以及樣式的平臺和語言中立的接口。,而BOM定義了JavaScript可以進行操作的瀏覽器的各個功能部件的接口。

它們之間的區別是:DOM描述了處理網頁內容的方法和接口,BOM描述了與瀏覽器進行交互的方法和接口。


發佈了45 篇原創文章 · 獲贊 7 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章