什麼時候用命名函式,什麼時候用匿名函式?
阿新 • • 發佈:2019-02-18
如果是迴圈的方式迴圈新增事件,推薦用命名,,如果不是迴圈用匿名函式
如果用匿名函式,每觸發事件,都會呼叫不同的函式,而設定了命名函式,每觸發事件,只用呼叫所命名的那個函式,減少訪問伺服器的次數
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style> div{ background: pink; width: 100px; height: 100px; } </style> </head> <body> <input type="button"value="阿牛"id="btn"/> <div id="dv"></div> <script> function my$(id) { return document.getElementById(id); } var names = ["楊過","小龍女","西施","黃蓉"]; my$("btn").onclick = function () { //建立 var objul = document.createElement("ul"); //追加 my$("dv").appendChild(objul); //動態的建立li,加到ul中 for(var i = 0;i < names.length;i++) { // 建立一個li元素 var objli = document.createElement("li"); //設定li中間的文字內容 //將數組裡面的字串給li objli.innerHTML = names[i]; objli.style.cursor = "pointer"; // 將li追加到ul裡面 objul.appendChild(objli); //li滑鼠移入事件 objli.onmouseover = mouseoverHandle; //li滑鼠移出事件 objli.onmouseout = mouseoutHandle; } }; function mouseoverHandle () { this.style.backgroundColor = "red"; } function mouseoutHandle () { this.style.backgroundColor = ""; }