6.JS中的this
誰調(diào)用函數(shù),“this”就是誰:
????????function fun() {
????????????console.log(this.name);
????????}
????fun(); ? 以函數(shù)的形式調(diào)用時“this”為fun()上級Object“window對象”(window對象調(diào)用函數(shù))
????
????????// 創(chuàng)建一個對象
????????var obj = {
????????????name : "小武",
????????????sayName: fun
????????};
????obj.sayName();?以obj對象方法的形式調(diào)用時“this”為sayName()上級Object“obj對象”(obj對象調(diào)用函數(shù))
????
????解析器在調(diào)用函數(shù)每次都會向函數(shù)內(nèi)部傳遞進(jìn)一個隱含的參數(shù)?“this”,“this”指向的是一個對象,這個對象我們稱為函數(shù)執(zhí)行的上下文對象,根據(jù)函數(shù)的調(diào)用方式的不同,“this”會指向不同的對象:
????????1.以函數(shù)的形式調(diào)用時,“this”永遠(yuǎn)都是“window”
????????2.以方法的形式調(diào)用時,“this”就是調(diào)用方法的那個對象
標(biāo)簽: