亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

詳細解讀JavaScript的this關鍵字

系統 2013 0

用了很久JavaScript,對【this】的認識只局限于以往的憑經驗而已,不過今天發現了好東西“ http://www.quirksmode.org/js/associative.html ”,詳細描述了如何使用【this】關鍵字,在這里我就簡短的說一下重點,如果有疑問可以直接參考原文。

在學習過有this的編程語言中,this一般都是指向當前實例對象的,對于JavaScript來說,其實也是這樣。但有時候在使用【this】時,會感覺它的行為很奇怪,不能能達到預期的效果,這往往是因為沒有正確的了解【this】本身所指向的真正的實例對象所引起的。

在JavaScript中,【this】總是指向執行函數的調用者,或者可以說是指向擁有方法的對象。

例子中,函數【doSomething】定義在頁面中,所以它指向的就應該是當前頁面,即全局對象【window】。但是,如果我們在頁面中某個元素的屬性內部使用了【this】,那么【this】指向的內容就是這個元素。如下面的例子,【this】指的就是元素【input】。

再看一個類定義的例子:

首先定義一個類【CSDN】,并為這個類添加一個【output】方法,output方法內使用的【this】所指向的內容,就是類【CSDN】的實例對象【new CSDN()】。也就是之前說的,【this】指向擁有方法【output】的實例對象【new CSDN()】。

接下來我們來學習一個重要的概念,拷貝與引用。

我們比較一下上面兩種用法。第一種用法是將函數【doSomething】拷貝到【element】的【onclick】事件句柄中,這樣【doSomething】的內容就成為元素【element】的一個方法,當該方法被執行時,【this】所指向的內容即為方法的擁有者【element】。但對于第二種用法(內聯方式)來說,實際上是一種變相的調用,當【click】事件被觸發時,【doSomething】確實會被調用,但并非作為元素【element】的方法來調用,所以【this】也就不會指向【element】了。

從代碼上看,拷貝方法所執行的代碼就是:

而引用方式執行的代碼是:

從執行的代碼中看,方法【doSomething】的擁有者并非當前元素,所以【this】的指向自然也不是當前元素了。

圖解:

詳細解讀JavaScript的this關鍵字

在內聯的引用方式下,可以通過使用【document.getElementById】或【event.target】來達到使用【this】的效果,但在使用【event.target】之前,最好查閱相關的文檔說明。

拷貝舉例:

引用舉例:

拷貝與引用的混合使用:

詳細解讀JavaScript的this關鍵字


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 夜夜操天天射 | 人人天天夜夜 | 国产一久久香蕉国产线看观看 | 亚洲黄色在线视频 | 国产亚洲精品国看不卡 | 国内精品手机在线观看视频 | 亚洲视频一 | 久久久久久久99精品免费 | 91视频网址 | 亚洲香蕉毛片久久网站老妇人 | 久热国产视频 | 激情影院免费看 | 国产精品亚洲一区在线播放 | 国产边打电话边被躁视频 | 五月激情丁香婷婷综合第九 | 亚色视频在线观看 | 日韩免费一区二区 | 国产亚洲精品自在久久不卡 | 久久久久综合国产 | 黄色小视频在线免费观看 | 久久99欧美 | 国产性色视频 | 欧美人成一本免费观看视频 | 日日草夜夜操 | 国产美女一级毛片 | 久久精品国语 | 大片国产片日本观看免费视频 | 日韩va亚洲va欧美va浪潮 | 伊人网综合在线视频 | 久操免费 | 日日夜夜操视频 | 91精品国产一区二区三区左线 | 成年人黄色在线观看 | 成 人 黄 色视频免费播放 | 久久69精品久久久久久hb | 国产三级不卡 | 欧美成人欧美激情欧美风情 | 国产伦精品一区二区三区无广告 | 99er这里只有精品 | 国产在线精品香蕉麻豆 | 美女日日日 |