C3、JS基本語法2


C3、JS基本語法2

js


一、字符串

  1. 字符串要寫成多行,可以在末尾加入 \
  2. base64 可以使用atob() 進行編碼 btoa()解碼

二、對象

  1. 對象就是一組“鍵值對”(key-value)的集合,是一種無序的複合數據集合。
  2. 鍵值對,如果鍵全是數字則自動轉換成字符串,數字開頭的混合要加入雙引號(最好都加入雙引號)
  3. 鍵值對的表示的是對象的引用(類似java中的實例引用指向其他對象),但只限於對象,如果是原始類型則不可以這樣操作。
  4. {foo:123} 有歧義,可能被解析成表達式或者代碼塊,所以所有表達式衝突都要用()括起來。沒有()理解成代碼塊,有()理解成對象。
  5. foo.p或者foo['p']來取得屬性,但是p要加入'',否則取自變量。
  6. 查看所有屬性 Object.keys(obj)
  7. delete 用於刪除對象屬性,刪除成功返回true
  8. in 用於檢查是否存在某個屬性
  9. for in 可以遍歷所有可以遍歷的屬性,以及繼承的可遍歷屬性
  10. with 用於操作統一個對象不同屬性方便操作

三、數組

  1. 本質是個object
  2. 數組不能使用.xx來取值
  3. 可以對length進行賦值改變數組長短
  4. delete刪除會形成空位,長度不會改變,遍歷的時候空位會被跳過

四、函數聲明方法

  1. function foo(){}
  2. var r = function(){}
  3. var foo = function f(){} 這樣定義f只能在函數內部使用
  4. 第一等公民,函數與其他數據地位平等,因此在js中又稱函數爲第一等公民
  5. 函數作用域,只能在函數內部訪問。只有在函數域內定義的變量是局部變量,其他地方的變量都是全局變量。
  6. 函數省略的參數值會變成undefined
  7. 多個參數傳入,arguments對象來實現讀取,嚴格模式下不允許寫入
  8. 閉包有作用:1.讀取內部函數的變量2.使得內部變量始終保持在內存中(有點像static) 
    3.封裝私有屬性和私有方法(注意不要濫用閉包,每次閉包都會產生變量存儲在內存中不能釋放,用多會產生性能問題)
  9. 函數立即調用表達式 (function(){})('hello')
  10. eval函數能把字符串轉換爲程序執行。
+
 2018-06-20 09:52 字數 856 閱讀 0
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章