摘要: 1 var users = [ 2 {id: 1, name: 'a'}, 3 {id: 2, name: 'a'}, 4 {id: 3, name: 'b'}, 5 {id: 4, name: 'b'} 6 ] 7 8 Array.prototype.unique = function() { 9 var obj = {}, arr = []; 10 var context = this, na 阅读全文
posted @ 2019-10-27 08:09 朵拉.科波菲尔 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 强缓存 Expires catch-control 协商缓存 Last-Modified (If-Modified-Since) ETag (If-None-Matched) 禁止浏览器缓存 CacheControl = no-cachePragma=no-cacheExpires = -1 强制缓 阅读全文
posted @ 2019-10-26 23:35 朵拉.科波菲尔 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 防抖:触发高频事件后n秒内函数只会执行一次,如果n秒内高频事件再次被触发,则重新计算时间 节流:高频事件触发,但在n秒内只会执行一次,所以节流会稀释函数的执行频率 或者 阅读全文
posted @ 2019-10-26 23:27 朵拉.科波菲尔 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 跨域:一个域下的文档或脚本试图去请求另一个域下的资源,由浏览器同源策略限制的一类请求场景。 同源策略:"协议+域名+端口"三者相同。 同源策略限制以下几种行为: 解决方案: 跨域资源共享(CORS):服务端设置Access-Control-Allow-Origin;要带cookie请求,前端with 阅读全文
posted @ 2019-10-26 21:24 朵拉.科波菲尔 阅读(119) 评论(0) 推荐(0) 编辑
摘要: javascript是一门单线程语言 事件循环(Event Loop)是js实现异步的一种方法,也是js的执行机制 同步任务和异步任务 同步和异步任务分别进入不同的执行"场所",同步的进入主线程,异步的进入Event Table并注册函数。 当指定的事情完成时,Event Table会将这个函数移入 阅读全文
posted @ 2019-10-26 15:54 朵拉.科波菲尔 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 注: (1)arguments是调用函数时传入的入参; (2)[].slice.call(arguments)同 Array.prototype.slice.call(arguments); 作用是把arguments转化为数组格式。 (3)fn.length可以拿到函数的入参的长度 简易版本: 阅读全文
posted @ 2019-10-26 15:32 朵拉.科波菲尔 阅读(161) 评论(0) 推荐(0) 编辑
摘要: slice() 方法可从已有的数组中返回选定的元素。 返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。 该方法并不会修改数组,而是返回一个子数组 splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。(splice() 方法会 阅读全文
posted @ 2019-10-22 18:18 朵拉.科波菲尔 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 1.什么是 BFC机制 BFC(Block Formatting Context),块级格式化上下文,是一个独立的渲染区域,让处于 BFC 内部的元素与外部的元素相互隔离,使内外元素的定位不会相互影响。 触发条件 (以下任意一条) float的值不为none overflow的值不为visible 阅读全文
posted @ 2019-09-18 20:30 朵拉.科波菲尔 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 先来看下效果图: 三张不同宽高比的图片需要在不同宽度的屏幕中都展示成正方形,而且截取图片的最中间部分展示。 实现代码如下: 图片作为div的背景,响应式正方形实现:div的宽度用百分比表示,高度的用padding-top属性,值和width保持一致;不同尺寸图片居中显示:background-pos 阅读全文
posted @ 2019-09-07 14:57 朵拉.科波菲尔 阅读(613) 评论(0) 推荐(0) 编辑
摘要: https://www.cnblogs.com/wcwnina/p/8728391.html 阅读全文
posted @ 2019-09-05 11:56 朵拉.科波菲尔 阅读(91) 评论(0) 推荐(0) 编辑