摘要:
转载:https://segmentfault.com/a/1190000017554062 事件循环机制 理解js的事件循环机制,能够很大程度的帮我们更深层次的理解平时遇到的一些很疑惑的问题 简单版本 下面来看一段代码,想想它的结果和你的结果是否一样 setTimeout(function() { 阅读全文
摘要:
一,for of用法(适用iterable类型的集合即Array,Set,Map) var a = ['A', 'B', 'C'];var s = new Set(['A', 'B', 'C']);var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);for 阅读全文
摘要:
一,对象深拷贝的几种方法 1. 使用递归的方式实现深拷贝 1 function deepClone(obj){ 2 let objClone = Array.isArray(obj) ? [] : {}; 3 if (obj && typeof obj 'object') { 4 for(let k 阅读全文
摘要:
一,闭包定义 1. 闭包是指可以访问其所在作用域的函数 那这样说来,需要通过作用域链查找变量的函数就是闭包 1 //按照定义一的说法,需要通过作用域链在全局环境中查找变量n的函数foo()就是闭包 2 var n = 0; 3 function foo() { 4 console.log(n)//0 阅读全文
摘要:
setTimeout与setInterval概述setTimeout与setInterval是JavaScript引擎提供的两个定时器方法,分别用于函数的延时执行和循环调用。前者的主要思想是通过一个定时器,让函数在计时结束后再执行;后者则是每隔一定的时间,就启动一次函数的执行。 从原理来看,两者似乎 阅读全文
摘要:
1. 事件循环(event-loop)是什么? 总方针是先同步再异步,异步中先微任务,在宏任务。 macro-task(宏任务):setTimeout,setInterval micro-task(微任务):Promise.then/catch,process.nextTick 这一次,彻底弄懂 J 阅读全文
摘要:
一,编译: 以var a = 2;为例,说明javascript的内部编译过程,主要包括以下三步 1) 分词: 1.1 词法单元(token):把由字符组成的字符串分解成有意义的代码块,这些代码块称为词法单元。 1.2 下面是一个栗子: var a = 2;被分解成为下面这些词法单元:var、a、= 阅读全文
摘要:
一,在css中单位长度用的最多的是px、em、rem,这三个的区别是: 1)px是固定像素,一旦设置了就无法因为适应页面而改变。 2)em和rem相对于px更具有灵活性,因为他们是相对的长度单位(即长度不是定死的,更适用于响应式布局)。 em和rem的区别一句话概括:em相对于父元素,rem相对于根 阅读全文
摘要:
一,浮动元素是如何定位的 当一个元素浮动之后,它会被移除正常的文档流,然后向左或者向右平移,一直平移直到碰到了所处的容器的边框,或者碰到另外一个浮动的元素 这是一个栗子: 运行结果: 二,解决浮动的副作用: 1. 针对父元素: 注意:如果一个元素里只有浮动元素,那它的高度会是0.如果你想要的它自适应 阅读全文
摘要:
一,容器属性 1. flex-direction 定义:主轴的方向(即项目的排列方向),默认值row 值: row → row-reverse ← column ↓ column-reverse ↑ 2. flex-wrap 定义:一条轴线排不下,如何换行,默认值nowrap 值: nowrap | 阅读全文