可以先參考這篇部落格:
全域性作用域或者普通函式中this指向全域性物件window。
//直接列印
console.log(this) //window
//function宣告函式
function
bar()
bar() //window
//function宣告函式賦給變數
var bar = function
() bar() //window
//自執行函式
(function
() )(); //window
方法呼叫中誰呼叫this指向誰
//物件方法呼叫
var person =
}person.run() // person
//事件繫結
var btn = document.queryselector("button")
btn.onclick = function
() //事件監聽
var btn = document.queryselector("button")
btn.addeventlistener('click', function
() )
//jquery的ajax
$.ajax(
});//這裡說明以下,將**簡寫為$.ajax(obj) ,this指向obj,在obj中this指向window,因為在在success方法中,獨享obj呼叫自己,所以this指向obj
3.在建構函式或者建構函式原型物件中this指向建構函式的例項
//不使用new指向window
function person (name)
person('inwe')
//使用new
function person (name)
var people = new person('iwen')
console.log(self === people) //
true
//這裡new改變了this指向,將this由window指向person的例項物件people
徹底弄懂JS中閉包
閉包概念 閉包就是有權訪問另乙個函式作用域中變數的函式.分析這句話 1.閉包是定義在函式中的函式.2.閉包能訪問包含函式的變數.3.即使包含函式執行完了,被閉包引用的變數也得不到釋放.例子分析 1 function add return arr var temp add temp 0 大家猜猜這個結...
徹底理解js中this的指向
首先必須要說的是,this的指向在函式定義的時候是確定不了的,只有函式執行的時候才能確定this到底指向誰,實際上this的最終指向的是那個呼叫它的物件 這句話有些問題,後面會解釋為什麼會有問題,雖然網上大部分的文章都是這樣說的,雖然在很多情況下那樣去理解不會出什麼問題,但是實際上那樣理解是不準確的...
徹底理解 JS 中 this 的指向
首先必須要說的是,this的指向在函式定義的時候是確定不了的,只有函式執行的時候才能確定this到底指向誰,實際上this的最終指向的是那個呼叫它的物件 這句話有些問題,後面會解釋為什麼會有問題,雖然網上大部分的文章都是這樣說的,雖然在很多情況下那樣去理解不會出什麼問題,但是實際上那樣理解是不準確的...