1,指向函式擁有者
2,只能在函式內部使用
1,物件宣告(this指向物件)
var pet =
}pet.speak()
執行結果
...
true
2,函式宣告(this指向global(或window))function
pet(words)
pet('...')
執行結果
...
true
3,建構函式宣告(this指向新宣告的物件)function
pet(words)
}var cat = new pet('miao')
cat.speak()
執行結果
miao
pet
1,半替換var pet =
}// pet.speak('speak')
var dog =
pet.speak.call(dog, 'speak')
//call把this由pet指向了dog,所以
//執行結果
//speak wang
2,全替換function
pet(words)
}function
dog(words)
var dog = new dog('wang')
dog.speak()
//this由pet指向dog,相當於建構函式整個繼承。
//執行結果
//wang
上下文 上下文棧
全域性 函式 區域性 在執行全域性 前將window確定為全域性執行上下文 對全域性資料進行預處理 var定義的全域性變數 undefined,新增為window的屬性 function宣告的全域性函式 賦值 fun 新增為window的方法 this 賦值 window 開始執行全域性 在呼叫函式...
JS執行上下文
執行上下文,即context,也不知道是誰翻譯的,不少的文獻 書籍用的都是這個詞。還記得第一次接觸這個詞時的惆悵 迷惘 不知所措,扶了扶眼鏡,翻開大辭典,還是翻譯成環境比較接地氣。js執行上下文,即js的執行環境。當我們的 執行時,會進入到不同的執行上下文,即不同的環境。在不同的環境中,有著不同的 ...
js執行上下文與執行上下文棧
在了解js的執行上下文物件與執行上下文棧之前,我們要先了解兩個概念 即變數提公升跟函式提公升 變數提公升 通過var定義的變數,在定義語句之前我們就可以直接訪問到,不過它的值是undefined 函式提公升 通過function定義的函式,在函式定義語句前,我們就可以直接呼叫 變數提公升與函式提公升...