1.方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象语法和参数
Object.defineProperty(obj, prop, descriptor)
obj要定义属性的对象
prop要定义或修改的属性的名称或 Symbol
descriptor要定义或修改的属性描述符
2.Symbol与Symbol.for与Symbol.keyFor
Symbol会被登记在全局环境中供搜索,后者不会,
Symbol.for()不会每次调用就返回一个新的 Symbol 类型的值,而是会先检查给定的key是否已经存在,如果不存在才会新建一个值
Symbol.keyFor返回一个已登记的 Symbol 类型值的ky
3、Map方法中,什么方法可以返回一个新的迭代对象,对象中每个元素是数组,键,值
Array.map(function(a,b,c),thisArg)
a是当前元素值,b是索引,c是数组
thisArg 回调给函数 用作this值。
4.For...of和forEach区别
For...of
使用return,break,continue来终止循环
遍历字符串
仅仅支持数组的遍历,同时也适用于很多类似数组的对象
5.什么可以从一个类似数组或可迭代对象创建一个新的,浅拷贝
Array.from(arrayLike[, mapFn[, thisArg]])
arrayLike想要转换成数组的伪数组对象或可迭代对象。
/ / mapFn 回调 thisArg回调第二个this 对象
6.过滤器
filter作对比,谁点filter,点的是被比较的
7.Set, Map区别(3个区别)
Set成员不能重复
(2)只有键值没有键名,类似数组
(3)可以遍历,方法有add, delete,has
Map:
(1)本质上是健值对的集合,类似集合
(2)可以遍历,可以跟各种数据格式转换
8.js中监听事件语法,(IE兼容写法)
element.addEventListener(event,function, useCapture);
element.attachEvent(event, function);
element.detachEvent(event, function);
9.什么是解构赋值ES6 允许按照一定模式,
从数组和对象中提取值,对变量进行赋值
10.使用箭头函数应该注意什么
1用了箭头函数,this就不是指向window,而是父级(指向是可变的2不能够使用arguments对象
3不能用作构造函数,这就是说不能够使用new命令,否则会抛出一个错误
4不可以使用yield命令,因此箭头函数不能用作 Generator 函数