亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

事件里面調用函數時,什么時候加括號,什么時候不加括號,有何區別? 比如我在學習MINIUI 他的事件里面都是onclick="tcon"這樣的

事件里面調用函數時,什么時候加括號,什么時候不加括號,有何區別? 比如我在學習MINIUI 他的事件里面都是onclick="tcon"這樣的

正在回答

3 回答

簡單點說,帶括號的是函數調用,直接執行函數;不帶括號的是綁定事件,事件觸發再執行。

復雜點說,帶括號的是把返回值賦值給事件,不帶括號的是把函數體所在地址位置賦值給事件。

舉個例子來說就是

<div id="a">函數括號那回事</div>
<input id="ip" type="button" value="點擊變色">
<script type="text/javascript">
? ?function cc(){
? ? ? ?var a=document.getElementById("a");
? ? ? ?a.style.color="red";
? ?}
? ?function change(){
? ? ? ?var ip=document.getElementById("ip");
? ? ? ?//ip.onclick=cc; ? //正常綁定事件,onclick觸發執行
? ? ? ?ip.onclick=cc(); ? //調用cc,直接執行
? ?}
? ?change(); ?//調用change,直接執行
</script>

上面代碼扔body里,2種挨個感受一下就知道了。

然后會有一個新問題,假如函數需要傳參怎么辦,這時候需要ip.onclick=function(){cc(obj);},理解方式一樣,綁定一個函數,函數在觸發onclick時執行,函數內容是執行cc。

如有錯誤,望指正

10 回復 有任何疑惑可以回復我~
#1

依韻_宵音 提問者

非常感謝!
2016-05-08 回復 有任何疑惑可以回復我~
dsfsdfds


0 回復 有任何疑惑可以回復我~

對于我這個新人來說,沒遇到這樣的問題,不過一般調用點擊事件的話 是根據function函數 的函數名來調用的,函數名一般都是function xxx(){},所以在onclick=后面接的是xxx(),所以根據本人猜想,如果不加括號,那么是否是function后的函數名不加括號...純屬猜想,有不對的地方請指正,....

0 回復 有任何疑惑可以回復我~
#1

依韻_宵音 提問者

不對,定義的時候那個括號是不能少的,樓下答案很好!
2016-05-08 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

事件里面調用函數時,什么時候加括號,什么時候不加括號,有何區別? 比如我在學習MINIUI 他的事件里面都是onclick="tcon"這樣的

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號