【JavaScript高级程序设计】21、内存和性能

事件委托

<!DOCTYPE html>
<<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript" src="EventUtil.js"></script>
    <title>内存和性能</title>
</head>
<body>
    <ul id="myLinks">
        <li id="goSomewhere">Go somewhere</li>
        <li id="doSomething">Do something</li>
        <li id="sayHi">Say hi</li>
    </ul>

    <script type="text/javascript">
        var list = document.getElementById("myLinks");
        var item1 = document.getElementById("goSomewhere");
        var item2 = document.getElementById("doSomething");
        var item3 = document.getElementById("sayHi");

        //可以每个事件都添加click事件,也可以是为顶级事件添加事件
        EventUtil.addHandler(list, "click", function(event)
                                            {
                                                event = EventUtil.getEvent(event);
                                                var target = EventUtil.getTarget(event);

                                                switch(target.id)
                                                {
                                                    case "doSomething":
                                                        document.title = "修改这个文件的标题";
                                                        break;
                                                    case "goSomewhere":
                                                        location.href = "http://www.baidu.com";
                                                        break;
                                                    case "sayHi":
                                                        alert("Hi");
                                                        break;
                                                }
                                            }
                            );


    </script>
</body>
</html>

 

显示结果:

点击第一个

跳转到百度

点击第二个

第三个

 

根据不同的时间显示不同的结果,而且只用一个函数,这样就不会那么占内存,JavaScript的函数数量是对性能有影响的,函数的多少会决定占用内存的多少

 

posted @ 2016-08-08 22:21  cutter_point  阅读(121)  评论(0)    收藏  举报