<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <div> <button id="btn">按鈕</button> </div> <script> var btn = document.getElementById("btn"); btn.onclick = demo(); //btn.onclick = demo; /*加上括號是執行的意思,添加事件的回調函數應該就是給相應的事件屬性賦值, 而很明顯須要把一個函數賦值給這個事件屬性,而不是函數的調用結果。 因此在js中的綁定是直接賦值。而在標籤內的事件屬性的值是由引號包裹的, 表明的是當點擊該元素時,執行引號內的代碼,直接把引號內的代碼拿出來跑, 若是你不加括號,那就不會調用那個函數。*/ /*簡單來講就是帶括號的是執行一次函數,不帶括號的函數就是一個函數對象*/ /*那下面這種意思就明顯了,下面的這一句語句是將一個函數對象賦值給了btn.onclick
*/ // btn.onclick = function(){alert("DOM0級事件處理111");} function demo(){ alert("111"); } </script> </body> </html>
搬運轉載自回答:https://www.imooc.com/wenda/detail/323633
css
(本文對讀者有幫助的話請移步支持原做者)html