业务中需求的方法,接口返回一个数组,里面包含了大量的对象,具有同名的属性名,比较常见。但是需要将其中参数为name的属性值全部取出,合并成数组。
/mock"); 第三步: 在src文件夹中创建 mock文件夹,然后在里面创建 index.js文件和respose文件夹再在里面创建: user.js ?...mock.png user.js中的代码 import Mock from ".....这个就是模板 const template = { 'str|2-4':"lison" } return Mock.mock(template) } index.js中的代码.../response/user" // Mock.mock("你要拦截的url","什么方式来调用接口",执行的方法 ) // 使用正则表达式获得地址 // Mock.mock("/\/getPortalList...,拦截要请求的地址了,从而使用本地的数据渲染数据了。
关键字 作为函数调用时,代表父类的构造函数 作为函数时只能用在子类的构造函数之中 作为对象时 在普通方法中指向父类的原型对象 在静态方法中指向父类 类的 prototype 属性和 __proto__...(可选)会返回的是一个新的 Promise 实例 第一个参数是resolved状态的回调函数 第二个参数是rejected状态的回调函数...弥补数组构造函数 Array 的不足 Array.from 将两类对象转为真正的数组 类似数组的对象(array-like object) DOM 操作返回的 NodeList arguments...call apply bind 不可以当作构造函数 不能使用 new 不可以使用 arguments 对象 用 rest 参数代替 不可以用作 Generator 函数 不能使用 yield 应用 简化和封装回调函数...不适用场合 定义对象的方法且该方法内部需要 this 需要动态 this 允许函数最后一个参数有尾逗号 字符串 模板字符串 可以当作普通字符串使用 用来定义多行字符串 所有的空格和缩进都会被保留 可以在字符串中嵌入任意的
参考答案: Array.prototype.distinct = function() { var ret = []; for (var i =...
C.函数提升 1.函数提升:将函数的声明放到作用域的开始。函数声明是做了完全提升的,而变量声明则是部分提升。...创建新的环境,避免共享 保持全局的数据对于构造器的数据相对独立 将全局数据附加到单例对象上 将全局数据附加到方法中 C.全局变量 1.避免创建全局变量:程序中依赖全局作用域的代码片段会产生一些边缘效应...这时它需要一个存储的空间,而JS中提供存储空间的数据结构就被称为环境。 2.动态维度:调用函数,执行上下文的栈,函数每调用一次就会创建一个新的环境将标识符和变量做映射。...该实例由构造函数初始化,而该环境保持了构造函数的参数和局部变量。每个在构造函数内部创建的函数(包括方法)都会保存此环境(创建函数时的环境)的引用。...4.通过IIFE保持全局数据私有 把私有全局数据存储于一个单例对象 保持全局数据对所有构造函数私有 把全局数据放在一个方法中 J.构造函数之间的继承 1.继承实例属性:实例的属性是在它自己的构造函数中设置的
,用来存新对象,并且修改新对象不会影响原对象 3、赋值: 当我们把一个对象赋值给一个新的变量时,赋的是该对象在栈中的内存地址,而不是堆中的数据。...flat 扁平化 将嵌套的数组 “拉平”,变成一维数组。该方法返回一个新数组,对原数据没有影响。...①创建一个空对象,构造函数中的this指向这个空对象; ②这个新对象被执行[ [ 原型 ] ]连接; ③执行构造函数方法,属性和方法被添加到this引用的对象中; ④如果构造函数中没有返回其它对象...不同点 map方法返回一个新的数组,数组中的元素为原始数组调用函数处理后的值。(原数组进行处理之后对应的一个新的数组。)...map()方法不会改变原始数组 map()方法不会对空数组进行检测 forEach()方法用于调用数组的每个元素,将元素传给回调函数.
(3)模板字符串之中还能调用函数 (4) 如果模板字符串中的变量没有声明,将报错。 String.raw方法,往往用来充当模板字符串的处理函数,返回字符串被转义前的原始格式。...它的参数是一个回调函数,所有数组元素依次遍历该回调函数,直到找出第一个返回值为true的元素,然后返回该元素,否则返回undefined。...ES6引入rest参数(...变量名),用于获取函数的多余参数,这样就不需要使用arguments对象了。rest参数搭配的变量是一个数组,该变量将多余的参数放入数组中。...它好比rest参数的逆运算,将一个数组转为用逗号分隔的参数序列。该运算符主要用于函数调用。 ES6允许使用“箭头”(=>)定义函数。...(2)不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。 (3)不可以使用arguments对象,该对象在函数体内不存在。
) } app(...a) 输出结果 (4) [1, 2, 3, 4] 10 运算符解释 … : 将一个数组转为用逗号分隔的参数序列 扩展运算符作用 主要用于函数调用和数组元素的扩充 数组新增...,数组中的元素为原始数组元素调用函数处理后的值....成功 基本用法 async函数返回一个 Promise 对象,可以使用then方法添加回调函数....在子类的构造函数中,只有调用super之后,才可以使用this关键字,否则会报错....父类的静态方法,也会被子类继承. super 关键字 作为函数时,super()只能用在子类的构造函数之中,用在其他地方就会报错.
: ES5原始版本一直存在一个问题: var 声明的变量具有函数级作用域, 而在循环体内部声明的变量在整个函数范围内都是可见的,这可能导致一些意外的行为: //使用 var 声明的变量在循环体内部具有函数级作用域...5 }, 100); } ES6中的循环作用域: ES6 中,使用 let 声明变量可以在每次循环迭代时创建一个新的块级作用域,避免了上述问题。...REST参数: 虽然都是…但是它和REST并不是一个东西别混淆 REST: 一般声明在函数的形参列表中,对多参数函数的一个数组化管理 扩展运算符: 是对数组|对象进行格式化拆分,一般以实参形式使用 字面量...: ForEach(fun): 是 JavaScript 中的一个数组方法,用于遍历数组的每个元素,且参数是一个回调函数 /Foreach遍历数组对象: //forEach() 是 JavaScript...就指向那个对象本身 构造函数:如果一个函数作为构造函数,this 指向它的实例对象 Node环境中变量如何定义在全局global 只有特别重要的变量才能声明到global,这是为了防止变量污染
(i); }); } // => 0 1 2 3 4 上面使用let的代码中,变量i是let声明的,当前的i只在本轮循环有效,所以每一次循环的i其实都是一个新的变量,JavaScript 引擎内部会记住上一轮循环的值...它的参数是一个回调函数,所有数组成员依次执行该回调函数,直到找出第一个返回值为true的成员,然后返回该成员。如果没有符合条件的成员,则返回undefined。...该方法返回一个新数组,对原数据没有影响。flat()默认只会“拉平”一层,如果想要“拉平”多层的嵌套数组,可以将flat()方法的参数写成一个整数,表示想要拉平的层数,默认为1。...不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。 不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。...constructor方法默认返回实例对象(this),可以指定返回另外一个对象 注:类的构造函数,不使用new是没法调用的,会报错。这是它跟普通构造函数的一个主要区别,后者不用new也可以执行。
初步检查后,代码似乎通过复制原始数组 arr 中的每个元素来创建一个新数组 newArr。然而,重复函数本身出现了一个关键问题。 重复函数使用循环来遍历给定数组中的每个项目。...为了解决数组长度不断增长导致无限循环的问题,可以在进入循环之前将数组的初始长度存储在变量中。 然后,您可以使用该初始长度作为循环迭代的限制。...这样,循环将仅针对数组中的原始元素运行,并且不会因添加重复项而受到数组增长的影响。...构造函数用于在 JavaScript 中创建对象。定义构造函数时,还可以将属性和方法附加到其原型属性。 然后,从该构造函数创建的对象的所有实例都可以访问这些属性和方法。...i 创建一个新的绑定,确保每个回调引用正确的值。
圣杯模式的继承解决了这一问题,其基本思路就是不通过调用父类构造函数来给子类原型赋值,而是取得父类原型的一个副本,然后将返回的新对象赋值给子类原型。...圣杯模式的继承解决了这一问题,其基本思路就是不通过调用父类构造函数来给子类原型赋值,而是取得父类原型的一个副本,然后将返回的新对象赋值给子类原型。...,状态变为resolved,返回值将组成一个数组传给回调 只有有一个失败,状态就变为 rejected,返回值将直接传递给回调 *all( )*的返回值,也是新的 promise 对象 16. this...对一个构造函数实例化后. 它的原型链指向什么 参考答案: 指向该构造函数实例化出来对象的原型对象。 对于构造函数来讲,可以通过 prototype 访问到该对象。...接收的是实参还是形参? 参考答案: JS 中的 arguments 是一个伪数组对象。这个伪数组对象将包含调用函数时传递的所有的实参。
作为构造器进行调用,创建一个新对象 通过apply()或call()方法进行调用 2.从参数到函数形参 如果实际传递的参数数量大于函数声明的形参数量,超出的参数则不会配给形参名称 如果声明的形参数量大于实际传递的参数数量...当一个函数被赋值给对象的一个属性,并使用引用该函数的这个属性进行调用时,那么函数就是作为该对象的一个方法进行调用的 将函数作为对象的一个方法(method)进行调用时,该对象就变成了函数上下文,并且在函数内部可以以...this参数的形式进行访问 5.作为构造器进行调用 将函数作为构造器(constructor)进行调用,我们要在函数调用前使用new关键字 6.构造器的超能力 创建一个新的空对象 传递给构造器的对象是this...作用域之外的所有变量,即使是函数声明之后的那些声明,也都包含在闭包中 相同的作用域内,尚未声明的变量不能进行提前引用 B.使用闭包 1.私有变量:限制变量的作用域 2.回调(callback)与计时器...4.在JS中,变量的作用域依赖于变量所在的闭包 5.闭包记住的是变量的引用——而不是闭包创建时刻该变量的值 六、原型与面向对象 A.实例化和原型 1.原型可以让我们预定义属性,包括方法,这些属性和方法会自动应用在新对象实例上
函数体内的this是定义时所在的对象而不是使用时所在的对象 可让this指向固定化,这种特性很有利于封装回调函数 不可当作构造函数,因此箭头函数不可使用new命令 不可使用yield命令,因此箭头函数不能用作...Symbol.species:指向一个构造函数,当实例对象使用自身构造函数时会调用指定的构造函数 Symbol.match:指向一个函数,当实例对象被String.prototype.match()调用时会重新定义...entries():返回以键和值为遍历器的对象 forEach():使用回调函数遍历每个成员 重点难点 遍历顺序:插入顺序 对同一个键多次赋值,后面的值将覆盖前面的值 对同一个对象的引用,被视为一个键...指定发生错误时的回调函数 Promise.all():将多个实例包装成一个新实例,返回全部实例状态变更后的结果数组(齐变更再返回) Promise.race():将多个实例包装成一个新实例,返回全部实例状态优先变更后的结果...():映射且扁平化数组,返回新数组(只能展开一层数组) 函数扩展 [x] toString()改造:返回函数原始代码(与编码一致) [x] catch()参数可省略:catch()中的参数可省略 Symbol
在JavaScript中,这些内置对象实际上只是一些内置函数,可以当作构造函数来使用,从而可以构造一个对应子类的新对象: var strPrimitive = 'I am a string'; typeof...即使在对象的文字形式中声明一个函数表达式,这个函数也不会“属于”这个对象,它们只是对于相同函数对象的多个引用。...在ES5中可以使用getter和setter部分改写默认操作,但是只能应用在单个属性上,无法应用在整个对象上。...forEach()会遍历数组中所有值并忽略回调函数的返回值;every()会一直运行直到回调函数返回false(或者‘假’值);some()会一直运行直到回调函数返回true(或者‘真’值)。...数组有内置的@@iterator,因此for...of可以直接应用在数组上,可以使用内置的@@iterator来手动遍历数组,看它是怎么工作的: var myArray = [1, 2, 3]; var
翻转数组 这个就是将数组中的元素前后互相替换,也不多说了。 ? 2....2.5 匿名函数 匿名函数就是没有名字的函数,当我们只需要只需要调用一次的话就可以使用匿名函数,或者需要回调函数的时候就会使用匿名函数,至于什么是回调函数,以后遇到了就说,匿名函数声明如下: ?...自定义构造函数来创建 ? 这个自定义构造函数名字需要首字母大写,当然这只是个规范而已。 里面使用了 this 关键字,这个 this 的指向就是使用构造函数创建的对象,也不需要返回 对象了。 ?...这个 new 创建对象的过程为: 在内存中先创建一个空的对象 让构造函数的 this 指向刚刚创建的对象 执行构造函数内部的属性和方法定义 返回当前对象 3.2 对象属性和方法的相关操作 访问属性语法为对象...当然,当对一个不存在的属性访问的时候就会返回 undefined,若是修改一个不存在的属性就是向该对象动态增加一个新的属性。
如果使用new运算符构造绑定函数,则忽略该值。当使用 bind 在 setTimeout 中创建一个函数(作为回调提供)时,作为 thisArg 传递的任何原始值都将转换为 object。...手写数组的 flat 方法 flat()方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。...指定要提取嵌套数组的结构深度,默认值为 1。 「注」 使用 Infinity,可展开任意深度的嵌套数组 返回值:一个包含将数组与子数组中所有元素的新数组。...返回值:一个由原数组每个元素执行回调函数的结果组成的新数组。...那时,所返回的 promise 的处理器将传入一个数组作为输入,该数组包含原始 promises 集中每个 promise 的结果。对于每个结果对象,都有一个 status 字符串。
filter() 方法创建一个新数组,其中包含通过回调函数实现的所提供测试的所有元素。 28. 解释 JavaScript 中柯里化的概念。...对象或数组的浅拷贝创建对原始对象的新引用,而深拷贝创建具有所有嵌套属性和值的完全独立的对象副本。 53. 解释 JavaScript 中词法 this 的概念。...如何在 JavaScript 中将字符串转换为日期对象? 可以使用 Date() 构造函数或 new Date() 方法将字符串转换为日期对象。 72....JavaScript 中数组的浅拷贝和深拷贝有什么区别? 数组的浅拷贝创建一个新数组,并引用原始数组的元素,而深拷贝创建一个新数组,其中包含原始数组元素的完全独立副本。 84....JavaScript 中 toLocaleString() 方法的用途是什么? toLocaleString() 方法返回一个字符串,该字符串表示使用特定于语言环境的格式的数组元素。 90.
splice() 方法用于向数组中 插入、删除或替换元素。返 回一个新的数组对象,这一数组是一个由 begin 和 end 决定的原数组的浅拷贝(包括 begin,不包括end)。...4, 5] slice() 方法用于截取数组中的一段元素,并返回这些元素组成的新数组。...创建一个空对象 将空对象的原型指向构造函数的原型 将构造函数的 this 指向新创建的对象 返回新创建的对象:如果构造函数没有显式返回一个对象,则默认返回新创建的对象。...如果构造函数返回的是一个非对象值(如基本类型),则返回新创建的对象实例。...JSONP是通过script 标签加载数据的方式去获取数据当做 JS代码来执行 提前在页面上声明一个函数,函数名通过接口传参的方式传给后台,后台解析到函数名后在原始数据上「包裹」这个函数名,发送给前端
领取专属 10元无门槛券
手把手带您无忧上云