徹底弄懂js中的this指向

2021-08-18 23:43:41 字數 1122 閱讀 2367

可以先參考這篇部落格:

全域性作用域或者普通函式中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的最終指向的是那個呼叫它的物件 這句話有些問題,後面會解釋為什麼會有問題,雖然網上大部分的文章都是這樣說的,雖然在很多情況下那樣去理解不會出什麼問題,但是實際上那樣理解是不準確的...