JS中的內置對象

JS中的數組正則表達式

一、數組的基本概念?
  數組是在內存空間中連續存儲的一組有序數據的集合。
  元素在數組中的順序,稱爲下標。可使用下標訪問數組的每一個元素。
二、如何聲明一個數組?
  ① 使用字面量聲明:var arr = []; // 聲明瞭一個空數組
  【注】在JS中,同一數組,能夠存儲各類數據類型
  ② 使用new關鍵字聲明:var arr = new Array(參數);
    參數:a. 省略 表示建立一個空數組;
       b. 整數 表示聲明一個length爲指定長度的數組。 可是這個length能夠隨時可變可增長,即數組的長度可變可增長。
       c. 參數爲逗號分隔的多個數值,表示數組的多個值。 new array(1,2,3) == [1,2,3];
三、數組中,元素的讀寫/增刪?
  ① 讀寫:經過下標訪問元素,下標從0 開始。eg. arr[1] = "haha";
  ② 增刪:
    a. 使用delete關鍵字, 刪除數組中的某一個值,刪除後數組的長度不變,對應位置變爲undefined。 eg.delete arr[1]; // 刪除數組中的某一個值
    b. arr.pop(); 刪除數組中的最後一個值。至關於 arr.length -= 1; 與delete的區別:數組長度-1
    c. arr.shift(); 刪除數組中的第一個值。
    d. arr.unshift(值); 在數組開頭(第0個位置)新增一個值。
    e. arr.push(值); 在數組最後一個位置新增一個值。
    f. 直接訪問數組沒達到的下標,能夠動態追加。 arr[100] = 1; 中間若是有空餘下標,將存入undefined。
四、數組中的其餘方法(函數)
  ① join("分隔符") :將數組用指定分隔符連接爲字符串,當參數爲空時,默認用,分隔。
  ② concat():原數組不會被改變。將數組與兩個或多個數組的值連接爲新數組‘
  【注】 concat 鏈接時,若是有二維數組,至多拆一層;eg.
      [1,2].concat([3,4],[5,6]) -> [1,2,3,4,5,6]
      [1,2].concat([3,4,[5,6]]) -> [1,2,3,4,[5,6]]
  ③ arr.push(值) :數組最後增長一個;
    arr.unshift(值): 數組開頭增長一個 —— 返回新數組的長度;
    arr.pop():數組最後刪除一個;
    arr.shift(): 數組開頭刪除一個 —— 返回被刪除的值;
  【上述方法 都會改變原數組】
  ④ reverse():原數組被改變。將數組翻轉,倒序輸出。
  ⑤ arr.slice(begin,end):原數組不會被改變。截取數組中的某一部分,並返回截取的新數組。
    傳入一個參數,表示開始區間,默認截取到數組最後;
    傳入兩個參數,表示開始和結束的下標,左閉右開(包含begin, 不包含end)
    兩個參數能夠爲負數,表示從右邊開始數,最後一個值爲-1
  ⑥ sort():原數組被改變 ,將數組進行升序排列。
    1) 默認狀況下,會按照每一個元素首字母的ASCII碼值進行排序; [3,1,5,12].sort(); -> [1,12,3,5]
     2) 能夠傳入一個比較函數,手動指定排序的函數算法; 函數默認接收兩個值a,b 若是返回值>0,則證實a>b
      arr.sort(function(a,b){
        return b-a; //降序排列
        return a-b; //升序排列
      });
  ⑦ IndexOf(value,index):返回數組中第一個value值所在的下標,若是沒有找到返回-1;
    lastIndexOf(value,index):一個value存在多個的狀況下,返回數組中最後一個value值所在的下標,若是沒有找到返回-1;
    若是沒有指定 index,則表示在整個數組中查找 value
    若是指定了index,則表示從index開始,向後查找value
  ⑧ forEach():專門用於循環遍歷數組。接收一個回調函數,回調函數能夠接收兩個參數,
    第一個參數爲數組每一項的值,第二個參數爲數組的下標。【IE8以前不支持】
    arr.forEach(function(item,index){
        console.log(item);
    });
  ⑨ map():數組映射。使用方式與forEach()相同。與forEach()不一樣的是,map能夠有return返回值,表示將原數組的每一個值進行操做,返回一個新數組
    var arr0 = arr.map(function( item,index ){ //數組映射 返回一個新數組
      console.log(item);
      return item-1;
    });
  ⑩ .splice(no-1,1);插入、刪除、替換(第三個參數)數組中的元素。
五、二維數組與稀疏數組(瞭解)
  ① 二維數組:數組中的值依然是一個數組形式 。
    eg. arr var a = [[1,2,3],[3,4,5]]; //兩行三列
    讀取二維數組:a[行號][列號]
  ② 稀疏數組:數組中的索引是不連續的。(length要比數組中實際的元素個數大)
 
基本數據類型&引用數據類型
  ① 基本數據類型:賦值時,是將元變量中的值,賦值給另外一個變量。賦值完成後,兩個變量相互獨立,修改其中一個值,另外一個不會變化。
  ② 引用數據類型:賦值時,是將原變量在內存中的地址,賦值給另外一個變量。賦值完成後,兩個變量中存儲的是同一個內存地址,訪問的是同一份數據,修改其中一個值,另外一個也會改變。
  ③ 數值型、字符串型、布爾型等變量屬於基本數據類型;
數組、對象屬於引用數據類型。
 
其餘內置對象
一、boolean 類
  兩種聲明方式:可使用字面量方式聲明一個單純的變量;
  也可使用 new Boolean() 聲明一個boolean類型的對象。用typeof檢測爲object類型。
二、number 類
  經常使用方法:
    MAX_VALUE:返回number類可表示的最大值;
    MIN_VALUE:返回number類可表示的最小值;
    .toString():將數值類型轉換爲字符串類型。(經常使用)
    .toLocaleString():將數值按照本地格式順序轉換爲字符串,
    通常從右開始,三個一組加逗號分隔
    .toFixed(n):將數字保留n位小數,並轉化爲字符串格式。(經常使用)
    .toPrecision():將數字格式化爲指定長度。n - 不含小數點的位數長度;若是n小於原數字長度,則用科學計數法表示。若是n大於原數字長度,則小數點後補0;
    .valueOf():返回number對象的基本數字值。
三、string 類
  1) 屬性:str.length 返回字符串的長度即字符數;
      字符串支持相似於數組的下標訪問機制:str[0]
  2) .toLocaleLowerCase();將字符串全部字符轉成小寫
   .toLocaleUpperCase();將字符串全部字符轉成大寫
  3) .charAt(n); 截取數組的第n個字符,至關於str[n] (經常使用)
  4) .indexOf("str",index); 從index位置開始,查找字串在字符串中出現的位置,
    若是沒有找到返回-1,其餘同數組的indexOf方法
   .lastIndexOf("str",index); 同數組
  5) .substring(begin,end); 從字符串中截取子串
    只傳入一個參數:表示從begin開始到最後
    傳入兩個參數,表示從begin到end的區間,左閉右開。
  6) .split():將字符串以指定分隔符分隔。存入數組中。
       傳入空"" 表示將字符串的每一個字符分開存入數組中。
  7) .replace("old","new"); 將字符串的第一個old替換爲new。
    第一個參數,能夠是 普通字符串,也能夠是 正則表達式。
    若是是普通字符串,則只替換第一個old;若是是正則表達式,能夠根據正則的寫法要求,進行替換
三、date 日期類 對象
  1) new Date() :返回當前最新時間。
    new Date("2017,12,31,12:34:12"); 返回指定時間。
  2) 經常使用方法:
    ① .getFullYear():獲取年份。
    ② .getMonth():獲取月份。
    ③ .getDate(); 獲取一個月中的第幾天
    ④ .getDay(); 獲取一個週中的第幾天 0-表示周天
 
自定義對象
一、基本概念
  ① 對象:擁有一系列無序屬性和方法的集合。
  ② 鍵值對:對象中的數據,用以鍵值對的形式存在。對象的每一個屬性和方法,都對應值的一個鍵名,以鍵取值。
  ③ 屬性:【對象中的變量】;描繪對象特徵的一系列變量;
  ④ 方法:【對象中的函數】;描述對象行爲的一系列函數。
二、對象的聲明
  ① 使用字面量聲明:
  【注】 對象中的數據是以鍵值對形式存儲,鍵與值之間用:分隔。多個鍵值對之間用,分隔
      對象中的鍵 能夠是除了數組/對象之外的其餘任何數據類型,可是咱們通常使用普通變量名
      對象中的值 能夠是任何數據類型,包括數組和對象。
    var obj = {
       key1 : value1,
       key2 : value2,
       func1 : function(){}
    }
  ② 使用new關鍵字聲明:
    var obj = new Object();
    obj.key1 : value1;
    obj.key2: value2;
    obj.func1 : function(){}
三、對象中屬性和方法的讀寫
  ① .運算符:
    對象內部:this.屬性 this.方法();
    對象外部:對象名.屬性 對象名.方法();
  ② ["key"]調用:對象名["屬性名"] 對象名["方法名"]();
    【注】 若是鍵中包含特殊字符,則只能用第②種方式。
    對象中 直接寫變量名,默認爲調用全局變量。若是須要調用對象自身的屬性或者方法,須要使用對象名.屬性,或者this.屬性。
    this.age person.age 推薦使用this關鍵字。
四、刪除對象的屬性和方法
  delete 對象名.屬性名/方法名;
  eg. delete person.age;
 
  謝謝閱讀,請多指教,共勉。
相關文章
相關標籤/搜索