02 2021 档案
摘要:一、什么是闭包 函数在定义时的 词法作用域 以外的地方被调用,就会产生闭包。 二、产生闭包的原因 都是因为 词法作用域 造成的。无论通过何种手段将内部函数传递到所在的词法作用域以外,它都会持有对原始定义作用域的引用,无论在何处执行这个函数都会使用闭包,且使得该作用域能够一直存活,没办法进行垃圾回收。
阅读全文
摘要:js的作用域,按工作模型,可以分为:词法作用域和动态作用域。按类型,可以分为:函数作用域和块作用域。 一、什么是词法作用域 词法作用域是定义在词法阶段的作用域。换句话说,词法作用域是由你在写代码时将变量和块作用域写在哪里来决定的。在编译阶段进行静态确定的形式。 /* 全局作用域有:foo foo的作
阅读全文
摘要:一、作用 代码复用 二、执行过程 创建内存空间,标记为该构造函数的实例;函数体内部的this指向该内存。 三、与普通函数的异同 (1)定义 与普通函数没有差别,只是为了区分,默认首字母大写。 (2)创建 构造函数前面要加关键字 new (3)返回 构造函数如果没有设置返回的话,默认该实例; 普通函数
阅读全文
摘要:一、使用的环境 (1)return只能在函数里面使用 (2)break、continue 在循环(for、while、do.....while)中使用 ,不能在forEach中使用。 const arr = [1, 2, 3, 4, 5]; for(let i of arr){ if(i == 2)
阅读全文
摘要:一、作用 1、Object 的 键的只能是字符串,Map可以解决这一问题,键不限类型。 二、特点 一个键(内存地址相同,才视为同一个键)多次赋值,后面的值将覆盖前面的值 三、语法 1、新建: new Map( [Iterator] ) 2、属性 (1)size 3、实例方法: (1)get(key)
阅读全文
摘要:一、作用 是异步编程的一种解决方案。 二、特点 (1)状态不受外界影响。有三种状态:pending(进行中) fulfilled(已成功) rejected(已失败) (2)状态确定后,不会再改变,任何时候都可以得到这个结果 (3)创建后立即执行 三、缺点 (1)无法取消Promise (2)内部报
阅读全文