js中的this理解

2021-08-01 06:55:34 字數 662 閱讀 5525

this看起來理解很簡單,就是當前物件,那麼在使用的時候,經常會犯錯誤,確定不了this指向是哪個物件。

在函式裡面:

function person()

this.name = name;

var p = new person();//那麼此時this指向的就是這個p物件

$.ajax({

....

裡面的this指的就是ajax物件。

看起來this指的是當前作用域的乙個物件,也可以說叫上下文物件。

看了函式的呼叫,最終的正常呼叫形式是:

func.call(context,params)

那麼這裡的context就是this.       this指向被呼叫者。

function show()

console.log(this);

show();

等價於:

show.call(undefined);

列印出來應該是undefined,但是瀏覽器的規則是:如果你傳入的context是null或者undefined,那麼context就是window物件。

this指向被呼叫者,這裡,show()是在window函式下呼叫的,所以this指向的就是window物件。

this就是你call乙個函式時,傳入的context物件.

理解JS中的this

this是函式執行時自動生成的內部物件,this指的就是呼叫函式的那個物件。函式呼叫的情況 作為函式的呼叫 var x 0 function log log 0 這裡的this就是window作為方法的呼叫 function log var obj obj.x 0 obj.log log obj.l...

JS 理解JS中的物件

物件是object資料型別的值 物件是一組沒有特定順序的值 其中每個值都有乙個名字,從而,物件看起來就像是一組名值對。建立並定義物件的方法 1.var person new object person.name carolina person.age 29 person.job dream pers...

理解js中的this物件

關於this物件,一直不是很好理解,我也經常被困惑,因為this物件經常會因為 書寫的方式不同而導致似乎自己認知中的this物件被改變了,但實際上this還是那個this。一句話 this 物件是函式在執行時基於函式的執行環境而繫結的 如在全域性環境中執行的函式,this就等於window,而當使用...