函式中的this

2021-10-23 12:50:10 字數 787 閱讀 1149

任何函式本質上都是通過某個物件來呼叫的,如果沒有直接指定就是window

所有函式內部都有乙個變數this

它的值是呼叫函式的當前物件 【

解析器在呼叫函式時每次都會向函式內部傳遞乙個隱含的引數,這個隱含的引數就是this,this指向的是乙個物件, 這個物件我們稱為函式執行的上下文物件根據函式的呼叫方式不同,this會指向不同的物件

】舉個栗子哈-。-~~

function

person

(color)

this

.setcolor

=function

(color)

}

q1: person(「red」);//this是誰?

–window物件

q2: var p = new person(「yellow」);//this是誰?

–p window呼叫賦值給了p

q3: p.getcolor();//this是誰?

–p p呼叫

q4: var obj = {};

p.setcolor.call(obj,「black」);//this是誰?

–obj

q5:var test = p.setcolor;

test();//this是誰?

–直接呼叫this就是window

函式中的this

1.this是什麼?任何函式本質上都是通過某個物件來呼叫的,如果沒有直接指定就是window 所有函式內部都有乙個變數this 它的值是呼叫函式的當前物件 2.如何確定this的值?test window p.test p new test 新建立的物件 p.call obj obj functio...

函式中的this

1.函式中的this指向 普通函式中的this指向誰?window 物件,方法中的this指向 當前例項物件 定時器方法中的this指向 window 建構函式中this指向 例項物件 原型物件中的this指向 例項物件 先來看這一段 target.onclick function 50 表面上看,...

函式中的this

1 函式如果直接呼叫,函式內的this是window 2 如果函式是被new呼叫的,那麼函式內的this是new剛剛建立的新物件 3 事件裡的this是繫結這個事件的物件 4 如果函式是被物件呼叫的,那函式裡的this就是這個物件 可以通過修改this指向使用別的函式的方法 最主要是可以把陣列乙個乙...