當前位置:才華齋>設計>網頁設計>

JavaScript中this的用法步驟

網頁設計 閱讀(2.1W)

關於JavaScript中this的用法網路中已經有較多比較詳盡的介紹,可以參考本文的參考學習資料和網路。本文結合網路收集整理,嘗試以一種簡易的方式闡述JavaScript中this的用法,希望對大家關於JavaScript中this用法的快速理解有所幫助。

JavaScript中this的用法步驟

1. this用法例項

複製程式碼 程式碼如下:

r = “red”;

var o = { color: “blue” };

function sayColor(){

alert(r);

}

sayColor(); //”red”

olor = sayColor;

olor(); //”blue”

2. this用法簡易理解

this指向哪裡:

this執行的環境(the context object),或者簡單理解為:this所在函式被呼叫時的當前作用域。

一段例項程式碼立刻明白:

複製程式碼 程式碼如下:

var fun = function() {

(this);

}

fun();// console: window,fun 的執行context為window,即this所在函式(fun())被呼叫時的當前作用域為window。

new fun();//console: fun,fun 的執行context為fun物件內,即this所在函式(fun())被呼叫時的'當前作用域為fun物件內。

3. this用法的一個特殊情況

(1)情況:

複製程式碼 程式碼如下:

function demo() {

e = om();

}

點選這個button之後,你會發現按鈕的value值沒有改變。

原因:在本程式碼執行的情況下this指向的是window物件。

複製程式碼 程式碼如下:

var button = lementById("aButton");

function demo() {

e = om();

}

ick= demo;

點選這個button之後,程式可正常執行。

(2)原因解釋:

複製程式碼 程式碼如下:

var button = lementById("aButton");

function demo() {

e = om();

}

ick= demo;

alert(ick);

得到的輸出是:

複製程式碼 程式碼如下:

function demo() {

e = om();

}

複製程式碼 程式碼如下:

var button = lementById("aButton");

function demo() {

e = om();

}

alert(ick);

得到的輸出是:

複製程式碼 程式碼如下:

function onclick() {

demo();

}