此博客是本人从学生时代开始做笔记所用, 部分是工作所遇问题,做填坑笔记,部分闲来查阅资料,加上自己的理解所总结的学习笔记, 常忙得不可开交,若漏了资料来源,望通知~ 前路漫漫,写点东西告诉自己正在一点点进步,而不要迷失于繁忙。
上一页 1 ··· 27 28 29 30 31 32 33 34 35 ··· 44 下一页
摘要: 相比很多人都遇见过这样的情况: 给一个ul的所有li绑定行为,在点击时获取其index。 假设结构如下: 很多人会这么做: 结果输出的全是5,这便是闭包的最常见的出现情形。 解决方案: 1.利用let块级作用域的特性 2.利用自执行函数独立作用域,也是红宝书里推荐的写法 3.利用事件委托机制(只适用 阅读全文
posted @ 2017-09-11 09:43 炎泽 阅读(1913) 评论(0) 推荐(0) 编辑
摘要: 在我们实际做项目的过程中,有时需要在拉伸页面时调节弹框位置,这就需要调用window.resize函数,但这也会引发一个问题, 那就是在极短的时间内,resize内的函数会被执行许多次,造成内存的大量使用甚至浏览器崩溃,同理,在调用mousemove时也会这样。 为此,在js红宝书内提出了函数节流的 阅读全文
posted @ 2017-09-10 10:39 炎泽 阅读(581) 评论(0) 推荐(0) 编辑
摘要: 观察者模式定义一种一对多的关系,多个观察者订阅一个主题对象,当主题对象发生改变的时候通知所有观察者,使他们能实现更新。 具体实现方式: 定义一个被观察对象,定义一个主题数组,观察者订阅主题通过往数组对象内添加回调函数来实现,当主题发生改变时轮流调用回调函数。 有时我们不喜欢使用那么多this,不想把 阅读全文
posted @ 2017-09-10 10:00 炎泽 阅读(203) 评论(0) 推荐(0) 编辑
摘要: js中并没有函数重载的概念,但函数的arguments参数能帮助我们模拟重载。 arguments并不是真正的数组,但拥有length(参数数目),且能通过数组下标的方式进行访问,例如arguments[0],arguments[1]。。。 拥有callee属性,指向此函数。 将arguments转 阅读全文
posted @ 2017-09-09 23:01 炎泽 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 定义: 使多个对象都有机会处理请求,避免发送者与接受者之间的耦合关系,将对象连成一条链,沿着这条链传递请求,直到有一个对象处理它。 如何把对象串联起来?解决方法通常是将另一个对象作为新创建对象的参数,称为继承者。 如何把请求传递下去?通常在其原型上定义同名请求方法,在此方法里调用继承者。 极简示例如 阅读全文
posted @ 2017-09-08 14:56 炎泽 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 什么是工厂模式?就好比一个工厂,能造汽车、飞机...,通过对外接口,由顾客决定,来定制哪一款产品。 在js内表现为,一个工厂函数/对象,包含汽车、飞机等子类,提供对外接口,根据参数返回不同子类的实例 简单实例如下: 何时使用: 1.对象构建十分复杂 2.需要依赖具体环境创建不同实例 3.处理大量具有 阅读全文
posted @ 2017-09-08 12:03 炎泽 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 同源限制: 浏览器不允许一个域的脚本请求另一个域的文档,通俗来说,不允许访问不同协议、不同域名或不同端口的文档 跨域处理方法: 1.jsonp 前提: 浏览器虽然对ajax请求做出了限制,但script的链接没有限制,例如: <script src= 'xxx'>,我们可以轻松地链接到另一个域的文件 阅读全文
posted @ 2017-09-07 11:24 炎泽 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 虽然前端一般情况下并不需要计算算法复杂度,但了解一下还是相当有必要的 时间复杂度 1.时间频度 由于算法执行的时间无法计算,为评判算法执行工作量,将语句执行的次数称为时间频度,记为T(n) 2.时间复杂度 n称为问题的规模,当n不断变化时,T(n)也会不断变化,为了表示其呈现的规律,我们引入时间复杂 阅读全文
posted @ 2017-09-06 18:19 炎泽 阅读(204) 评论(0) 推荐(0) 编辑
摘要: table 1. 宽高由内容撑开 2.独占一行 3.可设置宽高 4.可设置margin、padding inline-table 与display: table大体一致,区别在于不独占一行,为行内元素 table-row 1.宽高由内容撑开,但当父元素为display:table(相当于table) 阅读全文
posted @ 2017-09-06 15:34 炎泽 阅读(347) 评论(0) 推荐(0) 编辑
摘要: input[type='file']的accept属性用来指定上传文件的MIME类型。 将其设为accept= 'image/*',顾名思义,过滤掉所有非图片文件, 但在实际操作中,发现有时会出现响应缓慢的问题,特别是在chrome与Safari,IE与firefox则没有此问题。 搜索过后发现: 阅读全文
posted @ 2017-09-05 09:49 炎泽 阅读(1500) 评论(0) 推荐(0) 编辑
上一页 1 ··· 27 28 29 30 31 32 33 34 35 ··· 44 下一页