1. 程式人生 > >什麼時候用命名函式,什麼時候用匿名函式?

什麼時候用命名函式,什麼時候用匿名函式?

如果是迴圈的方式迴圈新增事件,推薦用命名,,如果不是迴圈用匿名函式

如果用匿名函式,每觸發事件,都會呼叫不同的函式,而設定了命名函式,每觸發事件,只用呼叫所命名的那個函式,減少訪問伺服器的次數

<!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 = "";
    }