JavaScript 知識點總結-3

while vs. do while vs. for
  while:不確定循環次數,或者循環變量的變化規律不固定
  do while:第一次條件即使不滿足,也要執行一次
  for:循環次數確定,循環變量變化規律固定



程序=數據結構+算法。良好的數據結構,可以極大提高程序的執行效率!
對象:凡是存儲在堆中的,都是對象!
  使用引用類型的對象:
  使用變量,等效於使用對象的地址;使用對象地址,等效於使用對象本身
API:已經實現的方法!可以直接調用!
null vs undefined:
  null專用於主動釋放對象!
  undefined:專用於自動初始化任何未賦值的變量
垃圾回收:js引擎自動銷燬不再被引用的對象!
  垃圾回收程序:隨js程序運行而後臺同時運行
  只要對象還有變量引用,就不回收。

數組(array):
  存儲:連續存儲多個數據的存儲空間
  使用:相當於多個變量的集合
  如何使用:創建,初始化,訪問
    創建:數組都是用[]創建出來的。
      2個不限制:1. 不限制元素個數!2. 不限制元素數據類型
      *數組是引用類型的對象*
      var arr=new Array(num);
        new:要在堆中開闢空間!
        Array:ECMAScript標準中的內置類型
        new Array:在堆中創建一個數組類型的存儲區域
        (num):初始創建num個元素
      數組中,undefined輸出時,變爲一個空字符
      null:一個變量沒有指向任何對象
      何時使用null:主動釋放對象!主動釋放的對象不能被找回
  Array API:
    arr.length屬性:數組中的元素個數
      訪問任意數組的最後一個元素:arr[arr.length-1]
      js中數組可根據程序需要,“自動擴容”,保證程序正常執行
      如果length屬性值>舊值,會擴容;反之,縮容(截斷)
      棧中的變量 生命週期:和堆完全不同!
      結論:局部變量的生命週期和所在方法的作用域環境棧有關
        作用域創建,局部變量一同創建
        作用域結束,局部變量一同消失
    x.toString()方法:
      任何對象都有toString方法。
      默認用,分隔每個元素  將任何對象轉爲字符串
    x.valueOf()方法:同toString()
    var str=arr.join("分隔符"):將數組轉爲字符串。可自定義分隔符!
      用法:將字符拼接爲單詞或句子  chars.join("")
    var newArr=arr.concat(元素值,[數組],...):將參數拆散成單個元素,追加到數組中。
      *不會修改原數組,只能返回新數組對象*
    var subArr=arr.slice(start,end+1):
      截取數組下標從start開始,到end位置的元素,生成新的子數組對象。
      *含頭不含尾*
    arr.splice:刪除!插入!替換!
      刪除元素:arr.splice(start,count);
      替換元素:arr.splice(start,count,值1,值2,...)
      插入元素:arr.splice(start,0,值1,值2,...)
      返回每次刪除元素組成的新數組
      splice:*直接修改原數組*!返回被刪除的元素
    arr.reverse():顛倒所有數組元素
    arr.sort():默認升序排列。默認都轉爲字符串排序!

    數組遍歷:對數組中每個元素執行相同的操作
      for(var i=0;i<arr.length;i++){
           arr[i]-->當前元素
      }
    二維數組:數組的元素又是另一個數組對象!
    關聯數組:數組下標可以自定義名稱!Key/value對兒
      for in:專門遍歷關聯數組用的!
      for (var key in arr){
           //從第一個元素開始,將元素的key賦值給臨時變量key
           arr[key]-->當前正在遍歷的元素的值(value)
      }
      關聯數組直接量定義方式:
      強調:大括號 {"key1":"value1","key2":"value2",...}

判斷字符的種類:unicode範圍:
  48-57:0-9 數字字符
  65-90:A-Z 大寫字母
  97-122:a-z 小寫字母
  19968-40869:漢字

什麼是模式匹配:可以設置查找或替換的規則!
何時使用模式匹配:要查找的關鍵字可能發生有規律的變化。



   
















   










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