以下场景往往由于事件频繁被触发,因而频繁执行DOM操作.资源加载等重行为,导致UI停顿甚至浏览器崩溃. 1. window对象的resize.scroll事件 2. 拖拽时的mousemove事件 3. 射击游戏中的mousedown.keydown事件 4. 文字输入.自动完成的keyup事件 实际上对于window的resize事件,实际需求大多为停止改变大小n毫秒后执行后续处理:而其他事件大多的需求是以一定的频率执行后续处理.针对这两种需求就出现了debounce和throttle两种解决…
JavaScript当然是会用的,不过没有深入系统的学习罢了.平常还是用JQuery比较多,原生的JS用到的很少. 不过前端时间学习Ruby,被动态语言的强大和魔幻给震惊了一把.了解Ruby后,我把目光转移到了这门很早就伴随我的语言.JQuery是一个华丽的外衣,一把好用的工具,但炫彩背后必有强大的后台,让我稍微掀起这幕布的一角吧. ###作用域链 闭包这个词想必大家不陌生,可谓是动态语言了不起的几把刷子之一了.在JS中,要想理解闭包,首先要拿作用域链这个概念下手. 先来看一下JS语言的另一种定…
GO语言的进阶之路-协程和Channel 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 看过我之前几篇博客小伙伴可能对Golang语言的语法上了解的差不多了,但是,如果想要你的代码和性能更高,那还得学点晋升的本来,这个时候我们就需要引入Golang的协成这个概念了,其实,你可能早就听说了Golang的优势就是处理大并发,我们可以用它来做日志收集系统,也可以用它做业务上的“秒杀系统”,当然我们还可以用它来做“监控系统”.好了,下面跟我一起来体会一下Golang的五味杂陈吧. 一…
GO语言的进阶之路-goroutine(并发) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 有人把Go比作21世纪的C 语言,第一是因为 Go语言设计简单,第二,21世纪最重要的就是并行程序设计,而GO 从语言层面就支持了并行.Go语言中最重要的一个特性,那就是 go 关键字.优雅的并发编程范式,完善的并发支持,出色的并发性能是Go语言区别于其他语言的一大特色.使用Go语言开发服务器程序时,就需要对它的并发机制有深入的了解. 一.并发基础          回到在Windo…
Java进阶之路——从初级程序员到架构师,从小工到专家. 怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作三五年之后开始迷茫的老程序员经常会问到的问题.希望这篇文章会是你看到过的最全面最权威的回答. 一: 编程基础 不管是C还是C++,不管是Java还是PHP,想成为一名合格的程序员,基本的数据结构和算法基础还是要有的.下面几篇文章从思想到实现,为你梳理出常用的数据结构和经典算法. 1-1 常…
个人Android高级进阶之路,目前按照这个目录执行,执行完毕再做扩展!!!!! 一.View的绘制 1)setContentView()的源码分析 2)SnackBar的源码分析 3)利用decorView机制实现底部弹出框 4)换肤框架(一)之Support v7库解析 5)小红书欢迎页的视差效果实现 6)换肤框架(二)之换肤框架实现解析 7)View和ViewGroup的绘制原理源码分析 8)自定义ViewGroup(一)之卡牌 二.事件的分发 1)从场景到源码分析事件分发 2)事件分发实…
前言 本文已经收录到我的Github个人博客,欢迎大佬们光临寒舍: 我的GIthub博客 需要已经具备的知识: Handler的基本概念及使用 学习导图: 一.为什么要学习Handler? 在Android平台上,主要用到的通信机制有两种:Handler和Binder,前者用于进程内部的通信,后者主要用于跨进程通信. 在多线程的应用场景中,Handler将工作线程中需更新UI的操作信息 传递到 UI主线程,从而实现工作线程对UI的更新处理,最终实现异步消息的处理. 作为一个Android程序猿,…
一:写在前面的问题和话 一个javascript初学者的进阶之路! 背景:3年后端(ASP.NET)工作经验,javascript水平一般般,前端水平一般般.学习资料:犀牛书. 如有误导,或者错误的地方,欢迎大神在评论区说明,指正.不接受无端的漫骂!!!! 二:正文 Javascript的面向对象 面向对象:封装,继承,多态. 上面先不说,我们学习后端语言的时候,老师都会告诉我们,对象是什么,比如,老师会说,对象你可以理解成为你的女朋友(对象),你女朋友的年龄,名字,职业,罩杯都是他的属性. 比…
一,css进阶篇: 等css哪些事儿看了两三遍之后,需要对看过的知识综合应用,这时候需要大量的实践经验, 简单的想法:把qq首页全屏另存为jpg然后通过ps工具切图结合css转换成html,有无从下手的地方可以用firebug, chrome调试工具分析网站结构样式.如果技术熟练自信可以自己先写,写完之后在对比,以其来找寻自己的差距.结构是网站的骨架,如果写的不合理,将是bug产生的重要根源,所以学习分析大型网站的布局样式对初学者来说帮助是很大的.大多数初学者由于对技术的不自信,html结构往往…
一,css进阶篇: 等css哪些事儿看了两三遍之后,需要对看过的知识综合应用,这时候需要大量的实践 经验, 简单的想法:把qq首页全屏另存为jpg然后通过ps工具切图结合css转换成html,有无 从下手的地方可以用firebug, chrome调试工具分析网站结构样式.如果技术熟练自信 可以自己先写,写完之后在对比,以其来找寻自己的差距.结构是网站的骨架,如果 写的不合理,将是bug产生的重要根源,所以学习分析大型网站的布局样式对初学者 来说帮助是很大的.大多数初学者由于对技术的不自信,htm…