久久久久久99久久久|中文字慕人成字幕二区|中文在线不卡高清理论av|最新国产激情无码在线|亚洲五月天堂蜜臀在线观看|中国无码三级片在线观看

JS中this關鍵字

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

一、方法調用模式

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

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

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

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

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

四、apply調用模式

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