#Javascript高级编程读书笔记#13.5 内存和性能

13.5 内存和性能

Javascript 中函数都是对象,过多被添加到事件的处理程序都会占用内存,内存中对象越多性能就越差。其次,事先指定好所有事件处理程序而导致的DOM访问次数也会延迟整个页面的交互就绪时间

对付“事件处理程序过多”的方案就是事件委托,事件委托利用了事件冒泡只指定一个事件处理程序就可以管理某一类型的所有事件,例如 click 时间会一直冒泡到 document 层次,可以为整个页面指定一个 onclick 事件处理程序,而不必给每个可单击的元素都添加上这个事件

不好的做法:

<ul id="myLinks">
    <li id="goSomewhere">Go somewhere</li>
    <li id="doSomething">Do something</li>
    <li id="talk">Say hi</li>
</ul>

// 为所有元素都设置了事件处理逻辑
document.getElementId("goSomewhere").onclick = function(){
    location.href = "http://www.baidu.com";
};
document.getElementId("doSomething").onclick = function(){
    document.title = "I changed the document's title";
};
document.getElementId("talk").onclick = function(){
    alert("hi, man");
};

改良一下,只需在DOM树尽量最高层次上添加一个事件处理程序:

var list = document.getElementById("myLinks");

list.onclick = function(event){
    var target = event.target;

    switch(target.id){
        case "doSomething":
            document.title = "I changed the document's title";
            break;
        case "goSomewhere":
            location.href = "http://www.baidu.com";
            break;
        case "talk":
            alert("hi, man");
            break;
    }
};
(0)

相关推荐

  • JavaScript 简介

    avaScript 是脚本语言 JavaScript 是一种轻量级的编程语言. JavaScript是可插入 HTML 页面的编程代码. JavaScript 插入 HTML 页面后,可由所有的现代浏 ...

  • 庄子读书笔记13:小知的自得

    作者:马庆攀(云南 弥勒) 大鹏的飞翔,如同水载船,必须有所积累.小风无法托起大鹏,浅水无法托起大船.如果要超越当下的局限,就需要不断积累,风和水对于人来说可以是能力.视野.智慧.时机.对于尘世间的人 ...

  • 读书笔记之潜意识思想重新“编程”

    为了实现你想要的成功.自信和繁荣,你必须给自己"洗脑",必须给自己的潜意识思想重新"编程".我们该怎么做呢?有以下8个简单步骤: 第一步.拿出一张纸,写下你具体 ...

  • 刘艳红教授《实质出罪论》读书笔记及心得(1-3)

    <曾国藩家书>中提到"吾辈读书,只有两事,一者进德之事,讲求乎诚正修齐之道,以图无忝所生:一者修之事,操习乎记诵词章之术,以图自卫其身."因此"不可无一日不读 ...

  • 2021年1-3月36本读书笔记汇总

    年度100本读书笔记的目标进行到36%. 直播时间:4月1日周四晚上8点 主题:怎样建立一个IP,去建立你自己的个人品牌 直播地址:视频号 读书方法 ,另一个视频号: 生活黑客 做为备用. 自我成长 ...

  • 我曾经是一个速读主义者,而现在…… | 读书笔记第13篇

    第三个原则是:深读而不速读--深读读书法 不知大家有没有遇到这样情况,明明一本书是看过的,但是让你回想里面的一些情节,哪怕是回想一下故事梗概,你会挠挠头,想不起啊.好像是读了不少书,也有不错的读书习惯 ...

  • 我的听课读书笔记体会和临床病例心得:13、按压合谷穴止咽痛

    大家都知道合谷穴,也就是平时大家所熟知的虎口,此穴平时用于牙痛居多,后来在<中医外治疗法>上面看到有一个老太太手掐合谷治疗咽痛,在北京学习平衡针灸的时候,平衡针灸就把合谷穴定位为咽痛穴. ...

  • 《道德经》读书笔记(13.1)——既要宠辱不惊又要宠辱若惊

    寵(宠)辱若驚(惊),     貴大梡(患)若身.     苛胃(何谓)寵辱若驚?     寵之爲下,     得之若驚,失之若驚,     是胃寵辱若驚.     何胃貴大梡若身?     吾所以有 ...

  • 读书笔记(计算思维与Python编程)

    这本书今天看了半本,对以前的知识有一些补充 不返回有意义的值的函数更像是一个"过程".这句话我是最喜欢的一句话,它完成了我对函数没有返回值是的新的诠释. 使用函数可以帮助你更好地构 ...

  • 皮囊读书笔记,当没有倾听者时,它就是伙伴

    当没有倾听者时,你就与书对话,它就是你的伙伴. 书的前半段,我一直在思考,为什么叫皮囊,皮囊应该写的是, 我们的生命本来多轻盈,都是被这肉体和各种欲望的污浊给拖住. 从前面几章阿太和父亲的皮囊中似乎领 ...