我的前端筆記 之 JavaScript

韓可樂發表於2018-07-11

我的前端筆記 之 JavaScript

看大神文章的總結


  • “一切都是物件” 
  • 物件都是通過函式來建立的。
  •  函式也是一種物件。
  • 每個函式都有一個屬性 -> prototype
  • 每個物件都有一個隱藏的屬性 - > __proto__ 
  • 物件的__proto__ === function.prototype 
  • typeof 檢測值型別
  • instanceof 判斷引用型別 (區分屬性是基本的還是原型中 -> hasOwnproperty ,特別在for .. in ... 過濾掉原型中的屬性)
  • 所有物件的原型鏈都會找到Object.prototype 這就是“繼承”
  • 每個函式都有call 、 apply 方法,有length、arguments、caller (函式由Function函式建立,繼承Function.prototype中的方法)
  • 執行上下文環境 -> 執行之前,將要用的先拿出來,有的賦值、有的underfied
  • *** 在函式中this 到底取何值, 是在函式真正被呼叫執行時確定
  • / 函式作為物件的一個屬性      
  • 如函式作為物件的一個屬性,並且作為物件屬性被呼叫時,this指向該物件 
  • 全域性和呼叫普通函式,其中this也都是window 
  • javascript 沒有塊級作用域, 只有函式可以建立作用域
  • // ** 作用域 在函式定義時就已經確定了,而不是在函式呼叫時確定
  • 如果要查詢一個作用域下某個變數的值,就需找到這個作用域對應執行上下文環境
  • 靜態作用域 = > 要到建立這個函式的那個作用域取值,“建立” 不是“呼叫”
  • 閉包應用的兩種情況:     
  •  1.函式作為返回值   2. 函式作為引數傳遞


相關文章