组合模式
组合模式将对象组合成树形结构,以表示“部分-整体”的层次结构。 除了用来表示树形结构之外,组合模式的另一个好处是通过对象的多态性表现,使得用户对单个对象和组合对象的使用具有一致性
写一个各浏览器兼容事件绑定函数
1 | let addEvent = function (elem, type, handler) { |
缺点:每一次调用都必须执行一次if判断
在该代码被加载时,利用立即执行函数做一次判断,然后返回给addEvent
正确的事件绑定函数
1 | let addEvent = (function (){ |
缺点:如果addEvent
绑定事件函数一直都没有被调用,那么就白白做了一次浏览器嗅探
1 | let addEvent = function(elem, type, handler) { |
缺点:首次调用较慢
《Javascript设计模式与开发实践》
题目链接: https://leetcode-cn.com/problems/repeated-substring-pattern/
给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。
setInterval
很少使用在生成环境下,因为有如下几个缺点
setInterval
执行的代码即使代码报错,它还会持续不断(不管不顾)地调用该代码
假设你每隔一段时间就通过Ajax轮询一次服务器,看看有没有新数据(注意:如果你真的这么做了,那恐怕你做错了;建议使用“补偿性轮询”(backoff polling))。而由于某些原因(服务器过载、临时断网、流量剧增、用户带宽受限,等等),你的请求要花的时间远比你想象的要长。但setInterval
不在乎。它仍然会按定时持续不断地触发请求,最终你的客户端网络队列会塞满Ajax调用。