随笔分类 - JS
摘要:定义 闭包指的是函数与定义该函数环境的组合。比如下面函数,函数foo和变量name是函数fn1的局部作用域中,fn1执行后把函数foo返回给fn2全局变量,这样就形成了一个闭包。这个闭包的函数是foo,而环境则是之前执行fn1时产生的局部作用域。 应用 私有化变量: 函数的每次执行产生闭包,他们里面
阅读全文
摘要:Object.defineProperty Object.defineProperty(obj, prop, { value: undefined, enumerable: true, writable:true, get: function() {return value}, set: funct
阅读全文
摘要:
阅读全文
摘要:JS中几种不同判断数据类型的方法 数据类型种类 + 原始数据类型: `Undefined String Number Boolean` + 引用数据类型: 在JavaScript中,应用数据类型都时继承自 ,比如JS本身提供的Array, RegExp, Date等等。另外还有JS使用者自己构造的类
阅读全文
摘要:应用场景 1. 很多时候,网页需要在不同尺寸大小的设备上显示出相同的效果,这就得用到自适应布局。用的比较多的是相对尺寸rem,这个时候需要获取页面的宽度来计算当前设备的rem对应的像素值。 2. 在页面的交互过程中,也经常需要获取页面的状态来实时动态调整。比如懒加载需要了解相应元素在页面中的位置,更
阅读全文
摘要:为什么要用let和const来替代var 要明白这一点,首先得了解作用域的概念。ES6之前javascript作用域的层级只在函数层面,而没有块级作用域的概念。也就是说,一个函数内在不包含另一个函数的情况下,其内部所有的变量都属于同一个作用域链。通过var声明的变量会提升上函数的最顶上。 javas
阅读全文
摘要:之前参加网易游戏笔试时,第一道大题就是问的requestAnimationFrame这个API,同时让说明这个API与setTimeout的异同。当时看到的时候完全不知道requestAnimationFrame是什么,直接放弃。想着回来还是得吧这个知识盲点给补上。 setTimeout setTi
阅读全文
摘要:补充:这个适用于node环境,浏览器环境不适用。 1. 同步任务 2. nextTick回调函数队列(微任务) 3. promise回调函数队列(微任务) 4. timeout,interval定时器任务队列(宏任务) 5. I/O事件任务队列,如http请求、文件读写等(宏任务) 6. immed
阅读全文