課程
/前端開發
/JavaScript
/DOM事件探秘
調用函數不都是要加括號的嗎?
2016-03-30
源自:DOM事件探秘 2-3
正在回答
我試了一下,加上引號就需要加上括號。eventUtil.addHandler(btn3,"click","showMes()");
網上百度了一下:
加括號——調用函數
只要是要調用函數執行的,都必須加括號。
此時,function()實際上等于函數的返回值。(沒有返回值也已經執行了函數體內的行為)。就是說,只要加括號的,就代表將會執行函數體代碼。
不加括號——指定函數引用
把函數名作為函數指針,用于傳參,此時不是得到函數結果,因為不會運行函數體代碼。它只是傳遞了函數體所在地址,在需要時找到函數體去執行。
例如request.onreadystatechange = doSomething;是將函數doSomething自身的引用(而不是函數結果)賦值給onreadystatechange屬性。
如果直接寫就是直接調用,而showMes是在事件觸發一后系統幫你調用的。所以應該寫showMes
舉報
DOM事件?本課程會通過實例來給小伙伴們講解如何使用這些事件
1 回答btn2直接調用showMes()函數不行嗎?
2 回答Dom2級添加的匿名函數事件怎么刪除呢
2 回答DOM2級刪除事件不能直接使用匿名函數。
5 回答showMes 參數 event 調用時沒有此參數了?
2 回答為什么調用showMes的時候可以不帶參數?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-07-12
我試了一下,加上引號就需要加上括號。
eventUtil.addHandler(btn3,"click","showMes()");
網上百度了一下:
加括號——調用函數
只要是要調用函數執行的,都必須加括號。
此時,function()實際上等于函數的返回值。(沒有返回值也已經執行了函數體內的行為)。就是說,只要加括號的,就代表將會執行函數體代碼。
不加括號——指定函數引用
把函數名作為函數指針,用于傳參,此時不是得到函數結果,因為不會運行函數體代碼。它只是傳遞了函數體所在地址,在需要時找到函數體去執行。
例如request.onreadystatechange = doSomething;是將函數doSomething自身的引用(而不是函數結果)賦值給onreadystatechange屬性。
2016-03-30
如果直接寫就是直接調用,而showMes是在事件觸發一后系統幫你調用的。所以應該寫showMes