前言
關於JavaScript中this的用法網路中已經有較多比較詳盡的介紹,可以參考本文的參考學習資料和網路。本文結合網路收集整理,試著以一種簡易的方式闡述JavaScript中this的用法,希望對大家關於JavaScript中this用法的快速理解有所幫助。
正文
1. this用法實例
[javascript]
window.color = “red”;
var o = { color: “blue” };
function sayColor(){
sayColor(); //”red”
o.sayColor = sayColor;
o.sayColor(); //”blue”
2. this用法簡易理解
this指向哪裡:
this運行的環境(the context object) ,或簡單理解為:this所在函數被呼叫時的目前作用域。
一段實例程式碼立刻明白:
[javascript]
var fun = function() {
console.log(this);
}
fun();// console: window,funthis 的執行為基礎函數(fun())被呼叫時的目前作用域為window。
new fun();//console: fun,fun 的執行context為fun物件內,即this所在函數(fun())被呼叫時的目前作用域為fun物件內。
3. this用法的一個特殊情況
(1)情況:
[html]
點擊這個button之後,你會發現按鈕的value值沒有改變。
原因:在本程式碼執行的情況下this指向的是window物件。
[html]
點選這個button之後,程式可正常執行。
(2)原因解釋:
[html]