国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

通過一段代碼簡單說js中的this的使用

2024-05-06 15:49:27
字體:
來源:轉載
供稿:網友
本文通過一段代碼與大家簡單說說js中this的使用及相關問題,感興趣的朋友可以參考下哈,希望對大家有所幫助

今天有朋友說遇到如下代碼,讓我幫解釋原因

復制代碼 代碼如下:


var name = "The Window";
var object = {
name : "My Object",
getNameFunc : function(){
return function(){
return this.name;
};
}
};


alert(object.getNameFunc()());原因是js的this是動態決定的,和你調用方式有直接關系。

簡單說如果你調用一個函數的時候使用“對象.函數名”的方式,那么this就是這個.(點)之前的對象,否則是window。
比如你在調用object.getNameFunc()的時候getNameFunc函數體中的this是剛聲明的object。如果你寫成

復制代碼 代碼如下:


var func = object.getNameFunc;
func();


這時候getNameFunc函數體中的this是window,雖然是同一函數調用方式的不同決定了this的不同。
同樣的道理,object.getNameFunc()返回的是一個函數引用,加一個括號就是讓函數執行。其實相當于如下代碼

復制代碼 代碼如下:


var func = object.getNameFunc();
alert( func() );


函數前沒有“對象.”這種形式,所以執行函數時候this是window,結果就很明顯了。

以后我會寫一篇關于js this的文章,歡迎大家關注我的CSDN博客tt361。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 蒙阴县| 新邵县| 乐昌市| 永仁县| 新和县| 思茅市| 砀山县| 吴忠市| 肥城市| 望奎县| 淅川县| 南川市| 镇宁| 大方县| 景泰县| 敦化市| 太仓市| 定州市| 安多县| 贡觉县| 哈尔滨市| 巨野县| 宁河县| 迭部县| 台安县| 咸宁市| 剑川县| 砚山县| 城口县| 临泉县| 临夏县| 鄂伦春自治旗| 开原市| 通河县| 建宁县| 阿鲁科尔沁旗| 北宁市| 绥滨县| 荆州市| 平阴县| 色达县|