嚴格模式下對於this指向的影響

admin發表於2017-03-31

本章節介紹一下嚴格模式對於this指向的影響,希望能夠給需要的朋友帶來一定的幫助。

如果使用嚴格模式,那麼函式中的this就不再允許指向window物件。

看如下程式碼:

[JavaScript] 純文字檢視 複製程式碼
var antzone="softwhy.com";
function func(){
  console.log(this.antzone);
}
func();

在非嚴格模式下,當函式作用普通函式使用的時候,this是指向window物件的。

再來看嚴格模式下的程式碼:

[JavaScript] 純文字檢視 複製程式碼
"use strict";
var antzone="softwhy.com";
function func(){
  console.log(this.antzone);
}
func();

特別說明:在本編輯器無法正確演示嚴格模式下的執行情況。

上面的程式碼會報錯,因為在嚴格模式下,當做普通函式使用的時候,this不會指向window物件,它會返回undefined。

報錯截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201703/31/111629j4h4hwaf4kw9uh4h.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

更多關於嚴格模式的內容可以參閱javascript嚴格模式特性簡單介紹一章節。

相關文章