LearningRecord
LearningRecord copied to clipboard
学习资料汇总、阅读记录,持续学习,每天进步一点点.🏫🏫
BFC 就是块级格式上下文,是页面盒模型布局中的一种 CSS 渲染模式,相当于一个独立的容器,里面的元素和外部的元素相互不影响。创建 BFC 的方式有: 1.html 根元素 2.float 浮动 3.绝对定位 4.overflow 不为 visiable 5.display 为表格布局或者弹性布局 BFC 主要的作用是: 1. 清除浮动 2. 防止同一 BFC 容器中的相邻元素间的外边距重叠问题 3. 可以包含浮动元素 4. 不被浮动元素覆盖 5. 阻止父子元素的margin折叠...
```javascript class Scheduler { constructor() { this.tasks = [], this.usingTask = [] } add(promiseCreator) { return new Promise((resolve, reject) => { promiseCreator.resolve = resolve if (this.usingTask.length < 2) { this.usingRun(promiseCreator)...
W3C盒子模型 标准盒模型 width = content box-sizing:content-box,表示按照标准的盒模型显示 IE盒子模型 IE盒模型 width=border*2+padding*2+content box-sizing:border-box,表示按照IE盒模型来显示 区 别: IE的content部分把 border 和 padding计算了进去;
```javascript function cloneDeep(x) { const root = {}; // 栈 const loopList = [ { parent: root, key: undefined, data: x, } ]; while(loopList.length) { // 广度优先 const node =...
##### loader 加载器 loader是指webpack打包方案,对于很多文件例如less,icon,图片等webpack不知道如何打包,通过loader来告诉webapck如何打包,让 webpack 拥有了加载和解析非 JavaScript 文件的能力 在 module.rules 中配置,也就是说他作为模块的解析规则而存在,类型为数组 ##### Plugin 插件 plugin是指插件包,plugins里面的插件会帮助我们做一些其他的事情, 让 webpack 具有更多的灵活性,提升开发效率。 在 plugins 中单独配置。类型为数组,每一项是一个 plugin 的实例,参数都通过构造函数传入 对于loader,它就是一个转换器,将A文件进行编译形成B文件,这里操作的是文件,比如将A.scss或A.less转变为B.css,单纯的文件转换过程 plugin是一个扩展器,它丰富了wepack本身,针对是loader结束后,webpack打包的整个过程,它并不直接操作文件,而是基于事件机制工作,会监听webpack打包过程中的某些节点,执行广泛的任务。
我们目前把多个文件打包的做法让浏览器很难高效地缓存代码:在一个模块里改动一行代码也需要重新下载整个打包后的文件。随着HTTP/2的多路复用让请求变得不那么昂贵,我们可以选择把代码分割到小模块里,以更好地利用缓存,确保我们的应用高效地利用用户的带宽。 。随着JavaScript社区正在朝更小的、更专一的模块方向发展,给客户端提供未打包的文件也不太理想。除此之外,把文件合并在一起可以更好地压缩,节省带宽。 https://www.jianshu.com/p/a9c2f9ff0f5f
Transitions动画功能与Animations动画功能的区别:虽然它们两者都是通过改变元素的属性值来实现动画效果,但是Transitions只能通过指定属性的开始值与结束值,然后在这两者之间进行平滑过渡的方式来实现动画的效果,因此不能实现较复杂的动画效果;而Animations功能可以通过定义多个关键帧以及每个关键帧中元素的属性值来实现复杂的动画效果 https://www.cnblogs.com/guoqing26/p/5244620.html
1、touchstart 当手指放在屏幕上触发。 2、touchmove 当手指在屏幕上滑动时,连续地触发。 3、touchend 当手指从屏幕上离开时触发。 4、touchcancel 当系统停止跟踪时触发,系统什么时候取消,文档没有明确的说明
尾调用(Tail Call)是函数式编程的一个重要概念,用简单的一句话描述就是“在函数的最后一步调用函数” ```javascript function f(x){ let y=x+1; return g(y); } ``` 尾调用优化"(Tail call optimization),即只保留内层函数的调用记录。如果所有函数都是尾调用,那么完全可以做到每次执行时,调用记录只有一项,这将大大节省内存。这就是"尾调用优化"的意义。 现在还没有支持尾调用优化的 JavaScript 引擎 http://www.ruanyifeng.com/blog/2015/04/tail-call.html
1.基本用法 ```javascript function first(x = 1, y = 2) { console.log("x:"+x ,"y:"+ y); } first(); first(100); ``` 2.与解构赋值默认值结合 ```javascript function second({x, y = 2}) { console.log("x:"+x ,"y:"+ y); } second({});...