JavaScript知識點總結-4

js中方法也是一個對象!方法名就是指向方法對象的變量名!
arr.sort(compare);注意!將方法作爲對象傳遞時,僅使用方法名,後不加圓括號。
棧和隊列:
  什麼是棧?後進的先出!(LIFO)
    棧其實就是數組,只不過用一對兒方法模擬了棧的操作!
    結尾入棧出棧:元素下標始終不變,最後一個元素始終最新
      入棧:arr.push(值1,...),
      出棧:var last=arr.pop();
    開頭入棧出棧:所有元素下標隨入棧出棧操作而變化,第一個元素[0],始終最新
      入棧:arr.unshift(值1,....)
      出棧:var first=arr.shift()
  隊列:FIFO
    入隊列:arr.push(值1,...)
    出隊列:var first=arr.shift()

原始類型:數據保存在變量本地
引用類型:數據不保存在變量本地!保存在“堆”中。由地址指向實際數據
  引用類型特點:可以保存多個數據,而且數據個數隨時可變
包裝類型:專門封裝原始類型的數據,並提供數據常用操作的內置類型。
  讓原始類型的數據也可以像引用類型一樣,擁有方法和屬性。
  string number boolean

  var num=5.678;//原始類型
  //num=new Number(num);//包裝類型
  console.log(num.toFixed(2));
  //num=null;//釋放包裝類型對象!

  創建字符串: 
      1. var str="...";//原始類型
      2. var str=String("...");//原始類型,類型轉換
      3. var strObj=new String("...");//包裝類型對象
  轉義字符: 代替字符串中的非打印字符:\n   \t
            如果字符串內容中包含和語法衝突的特殊字符,可用\轉爲普通字符

*字符串內容一旦創建,不可改變*
  如果修改,都要創建新字符串,保存新結果,替換舊字符串
  所有字符串API,都需要變量接收返回值!

str.length:返回str字符串中的字符個數
大小寫轉換:都轉小寫:str=str.toLowerCase()
            都轉大寫:str=str.toUpperCase()
  字符串類型底層其實都是用字符數組實現的。
獲取指定位置字符:
  var char=str.charAt(index);
         在index位置的char
  獲取指定位置字符的unicode編號:
  var num=str.charCodeAt(index);
字符串三大操作:
  1.查找關鍵字 2.替換關鍵字 3.獲取子字符串
  查找關鍵字:
    var index=str.indexOf("關鍵字");
        返回關鍵字所在位置!*如果沒找到,返回-1!*
      indexOf:
        懶:只找第一個關鍵字位置!
        蠢:默認只能從位置0開始!
    var index=str.indexOf("關鍵字",from);
      from:開始查找的位置,從from開始向後查找
      從最後一個字符,向前找:只要關鍵字離結尾近,就用last
    var index=str.lastIndexOf("關鍵字",from);
      from:開始查找的位置,從from開始向前查找
      *返回的index完全相同!字符在數組中的下標是固定的!*
  獲取子字符串:
    var subStr=str.slice(start,end+1)
    str.substring(start,end+1)  用法同slice!
      唯一差別:不支持負值作爲參數!
    str.substr(start,*count*)
    以上三個方法省略第二個參數,默認都是取到結尾!
  按規律分割字符串:var subs=str.split("分隔符"[,count])

  String類型中,提供了專門支持模式匹配的API!
    按模式*替換*關鍵字:str=str.replace(reg,"新值");
      默認replace僅替換第一個關鍵字!
      要想全局替換,要在模式中定義“g”
    獲得*所有*關鍵字的*內容*:
      var kwords=str.match(reg);
      只能取得關鍵字的內容,無法確定每個關鍵字的位置!
    kwords.length:
      找到的關鍵字個數!
      *如果未找到,返回null!*
      只要有可能返回null!都要先判斷!=null,再處理!

    var index=str.search(reg)和indexOf完全相同!
      indexOf不支持模式查找!search其實是indexOf的模式查找版
















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章