this 函式執行上下文

2022-09-03 04:15:12 字數 855 閱讀 9379

this 使用於函式體中,是指呼叫函式的物件.

函式呼叫時 有兩種方式

1,明確呼叫函式的主體  

例如 window.func1   window就是呼叫的主體,在 func1 中的this就指向window

2,直接執行函式

比如 func2()  

在嚴格模式下, func2 內部的 this 就是 undefined  // 很多瀏覽器執行都不是這樣

在非嚴格模式下, func2 內部的 this 就指向 執行上下文 .

如果外層沒有函式,就指向 window

有外層函式,就指向外層函式的 執行上下文 this

有一種特殊函式使用時 this的指向與普通的函式不同,那就是 箭頭函式

語法( 引數值 ) =>

簡單驗證

var b = 

window.name = 'window'

function

a()function

_a()

a();

//window

a.call(b);//

b_a();//

_a

明確呼叫函式的主體的方式有以下幾種:

1, 物件或直接量 . 函式()

2, 函式.call(物件,引數1,引數2...)

5, 函式.bind(物件) 

需要注意一點:

上面幾種方式都是直接呼叫函式執行的,而bind卻是返回乙個函式,並且返回的函式再次執行bind時也不會再改變上下文的繫結

function.prototype._bind = function

(context)

}

執行上下文

1.分類 位置 全域性 函式 區域性 2.全域性執行上下文 在執行全域性 前將window確定為全域性執行上下文 對全域性資料進行預處理 var定義的全域性變數 undefined,新增為window的屬性 function宣告的全域性函式 賦值 fun 新增為window的方法 this 賦值 w...

this執行上下文

this的指向為 誰呼叫當前this所在的函式,this就指向誰。也就是說,當前呼叫函式的那個物件自身就是this,就是當前的執行上下文。被滑鼠事件,鍵盤事件等觸發的函式 叫做事件處理函式,事件處理函式的this指向事件源 觸發事件的節點 事件處理函式第乙個引數是事件物件 備註 有名函式的this指...

執行上下文

js原理 原型鏈 執行上下文 事件迴圈 預備知識 1 棧 stack 棧是類似於陣列的一種資料結構。2物件引用 user1指向使用者物件 user1持有使用者物件的引用 var user1 var user2 user1 user2.name 張三 console.log user1.name,us...