JS中function(e) 其中的e代表什么意思
JS中function(e) 其中的e到底代表什么
在學(xué)習(xí)js的時(shí)候 我跳過(guò)了一部分章節(jié)的內(nèi)容,導(dǎo)致現(xiàn)在學(xué)習(xí)react的時(shí)候很多內(nèi)容都不知所措,因?yàn)檫@些教程都是建立在它認(rèn)為你js所有內(nèi)容都掌握的前提下,當(dāng)然這是我自身的原因。需要反省。
下面是正題:
我們知道js有很多事件,事件說(shuō)白了就是 鼠標(biāo)點(diǎn)擊,鼠標(biāo)移動(dòng) ,鍵盤打字什么的這些人為的操作。
function(e) 其中的e ,如果你單單寫一個(gè)方法,比如

那么e其實(shí)就是一個(gè)形參,和你放入ABCDEFG這些,并沒(méi)有什么不同,其實(shí)我感覺(jué)大部分人都迷在這里了,e到底是個(gè)什么東西!為什么那里面不寫其他字母,其實(shí)想明白就好了
重點(diǎn)來(lái)了:
當(dāng)某個(gè)元素具有 某個(gè)事件處理的時(shí)候(比如鼠標(biāo)點(diǎn)擊),那么這個(gè)e就不僅僅只是一個(gè)參數(shù)了,它代表著捕獲的這個(gè)事件對(duì)象,很抽象,別急,我們看個(gè)例子:
一個(gè)很簡(jiǎn)單的頁(yè)面效果,就一個(gè)div里 包含一個(gè)點(diǎn)擊事件,點(diǎn)擊事件觸發(fā)會(huì)在控制臺(tái)打印出 event這個(gè)參數(shù),注意?。?/p>
下面我將用費(fèi)曼學(xué)習(xí)法來(lái)講述一下:
為什么是event,因?yàn)檫@里面你可以隨便放任意值,你說(shuō)你不喜歡e這個(gè)字母,看見(jiàn)就惡心,你可以放ZXCVB任何你喜歡的字母和單詞,只不過(guò)這是這么些年來(lái)人們潛移默化的約定罷了,就像for循環(huán)函數(shù),為什么是i++,因?yàn)閮H僅是人們習(xí)慣了,一看到就知道哦,這個(gè)i是要用來(lái)循環(huán)的,就像看見(jiàn)這個(gè)e,哦,它是用來(lái)代表事件對(duì)象的,別人看你的代碼會(huì)一下子就知道這是什么意思。
它僅僅代表了它監(jiān)聽(tīng)到的這個(gè){事件對(duì)象},這個(gè)對(duì)象在代碼里代表著誰(shuí)呢? 沒(méi)錯(cuò),就是onclick,說(shuō)人話就是 監(jiān)聽(tīng)到了 鼠標(biāo) 這個(gè)事件對(duì)象。
說(shuō)白了也就是瀏覽器這個(gè)對(duì)象自帶的一個(gè)對(duì)象,這個(gè)對(duì)象里包含了許多屬性和方法,就好比document 一樣,自帶了很多方法(getElementTagName方法之類的)如下面圖:

常用的e.target, 其實(shí)就相當(dāng)于 上面例子里的div
補(bǔ)充:
JavaScript易錯(cuò)點(diǎn) function(e)中的e代表什么意思?
代表形參
function fn(e){
//這里的e 是形參,接收調(diào)用方法的值,這里e可以理解指代element
console.log(e); // 'help'
}
fn('help');代表事件
$(function(){
$("#mybutton").on("click mouseover",function(e){
alert(e.type)
//在觸發(fā)該事件的時(shí)候,系統(tǒng)會(huì)給傳給你這個(gè)參數(shù),他包含了觸發(fā)該事件的一些信息
//這里e指代event
})
})到此這篇關(guān)于JS中function(e) 其中的e到底代表什么的文章就介紹到這了,更多相關(guān)JS中function(e) 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript中的對(duì)象的extensible屬性介紹
這篇文章主要介紹了JavaScript中的對(duì)象的extensible屬性介紹,JavaScript中,對(duì)象的extensible屬性用于表示是否允許在對(duì)象中動(dòng)態(tài)添加新的property,需要的朋友可以參考下2014-12-12
淺談在fetch方法中添加header后遇到的預(yù)檢請(qǐng)求問(wèn)題
下面小編就為大家?guī)?lái)一篇淺談在fetch方法中添加header后遇到的預(yù)檢請(qǐng)求問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08
簡(jiǎn)單實(shí)現(xiàn)js進(jìn)度條加載效果
這篇文章主要為大家詳細(xì)介紹了如何簡(jiǎn)單實(shí)現(xiàn)js進(jìn)度條加載效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
JS插件clipboard.js實(shí)現(xiàn)一鍵復(fù)制粘貼功能
這篇文章主要介紹了JS插件clipboard.js實(shí)現(xiàn)一鍵復(fù)制粘貼功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08
JavaScript具有類似Lambda表達(dá)式編程能力的代碼(改進(jìn)版)
在之前的一篇博文中我介紹了一種方法可以讓JavaScript具有一種近似于Lambda表達(dá)式的編程能力——但是它有一些缺點(diǎn),其中妨礙它的使用的最主要的一條就是多了一層括號(hào),讓代碼變得難以閱讀。2010-09-09
用XMLDOM和ADODB.Stream實(shí)現(xiàn)base64編碼解碼實(shí)現(xiàn)代碼
用 XMLDOM 和 ADODB.Stream 實(shí)現(xiàn)base64編碼解碼實(shí)現(xiàn)代碼,需要的朋友可以參考下。2010-11-11
一文詳解JavaScript中的replace()函數(shù)
replace方法的語(yǔ)法是stringObj.replace(rgExp, replaceText),其中stringObj是字符串(string),下面這篇文章主要給大家介紹了關(guān)于JavaScript中replace()函數(shù)的相關(guān)資料,需要的朋友可以參考下2023-01-01
Net微信網(wǎng)頁(yè)開(kāi)發(fā) 使用微信JS-SDK獲取當(dāng)前地理位置過(guò)程詳解
這篇文章主要介紹了Net微信網(wǎng)頁(yè)開(kāi)發(fā) 使用微信JS-SDK獲取當(dāng)前地理位置過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08

