Javascript函式的基本知識

翟同學發表於2020-09-25

函式

什麼是函式?

  • 實現特定功能的n條語句封裝體
  • 只有函式是可以執行的,其他型別的資料不能執行

為什麼要用函式?

  • 提高程式碼複用
  • 便於閱讀和交流

如何定義函式?

  • 函式宣告+表示式
  • 直接呼叫test( )
  • 通過物件呼叫obj.test()
  • new呼叫new test()
  • test.call/apply(obj)

回撥函式

什麼是回撥函式

手動定義,但沒有呼叫,最終執行了

常見的回撥函式

  • dom事件回撥函式
  • 定時器回撥函式
  • ajax請求回撥函式
  • 生命週期回撥函式

IIFE

立即呼叫執行函式,隱藏實現,不會影響全域性名稱空間

用於編寫js模組

(function (){
	function test () {
        console.log("hrllo")
    }
    //用該方法可以把test()暴露出去
    window.$ = function(){
        return {
            test:test
        }
    }
})

//如何使用名稱空間之外的函式
$().test()

this

this是什麼?

任何函式都是通過某個物件來呼叫的

所有函式內部都有一個變數this

它的值是呼叫函式的物件(如果沒有直接指定,就是window )

如何確定this的值?

window

物件p

新建立的物件new test()

p.call(obj)//this的值是obj

分號

小括號開頭的要用分號(IIFE)

中括號開頭的前一條語句要加分號

相關文章