亚洲无码国产日韩欧美99|欧美亚洲永久电影三级成人|日韩a∨在线中文字幕30页|精品毛片直播一区二区|午夜欧美电影久久|国产日产欧产精品精乱子|黄色电影AA级亚洲播播|日韩免费黄色三级片电影|精品在线视频足久草在咸|欧美日韩美女在线免费视频播放

JS中this關(guān)鍵字

2020/11/12 12:17:28   閱讀:2963    發(fā)布者:2963
    this關(guān)鍵字雖然會根據(jù)環(huán)境變化,但是它始終代表的是調(diào)用當(dāng)前函數(shù)的那個對象。這就引出了JS中函數(shù)調(diào)用的問題。在JS中調(diào)用函數(shù)的模式可以分為4種: 方法調(diào)用模式、函數(shù)調(diào)用模式、構(gòu)造器調(diào)用模式、apply調(diào)用模式。這些模式在如何初始化關(guān)鍵參數(shù)this上存在差異。

一、方法調(diào)用模式

     當(dāng)函數(shù)被保存為一個對象的屬性時,它就可稱為這個對象的方法。當(dāng)一個方法被調(diào)用時,this被綁定到這個對象上。如果調(diào)用表達(dá)式包含一個提取屬性的動作(. 或 []),那么它被稱為方法調(diào)用。

二、函數(shù)調(diào)用模式

當(dāng)一個函數(shù)并非一個對象的屬性時,那么它就是被當(dāng)做函數(shù)來調(diào)用的。在此種模式下,this被綁定為全局對象,在瀏覽器環(huán)境下就是window對象。

三、構(gòu)造函數(shù)模式

     如果在一個函數(shù)前面加上new關(guān)鍵字來調(diào)用,那么就會創(chuàng)建一個連接到該函數(shù)的prototype成員的新對象,同時,this會被綁定到這個新對象上。這種情況下,這個函數(shù)就可以成為此對象的構(gòu)造函數(shù)。

四、apply調(diào)用模式

    在JS中,函數(shù)也是對象,所有函數(shù)對象都有兩個方法:apply和call,這兩個方法可以讓我們構(gòu)建一個參數(shù)數(shù)組傳遞給調(diào)用函數(shù),也允許我們改變this的值。