一、方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象语法和参数。
obj:要定义属性的对象
prop:要定义或修改的属性的名称或Symbol
descriptor:要定义或修改的属性描述符
二、Symbol与Symbol.for与Symbol.keyFor的区别。
Symbol.for()与Symbol()这两种写法,都会生成新的 Symbol。
它们的区别是,前者会被登记在全局环境中供搜索,后者不会。
Symbol.for()不会每次调用就返回一个新的 Symbol 类型的值,而是会先检查给定的key是否已经存在,如果不存在才会新建一个值
Symbol.keyFor() 方法返回一个已登记的 Symbol 类型值的 key
三、Map方法中,什么方法可以返回一个新的迭代对象,对象中每个元素是数组、键、值。
四、For…of和foreach区别。
for…of
1.可以避免for in循环中的陷阱
2.不同于forEach,它可以使用return,break,continue来终止循环
3.它不仅仅支持数组的遍历,同时也适用于很多类似数组的对象
4.还可遍历字符串
5.并不能处理原有的而原生对象
6.他不能遍历一个普通的对象,只有在对象中部署了 Symbol.iterator 属性, 才具有 iterator接 口可以使用 for of循环
7.如果不部署Symbol.iterator 属性,想遍历普通对象,需要联合Object.keys()来使用
forEach
1.他不能使用return,break,continue来终止循环,
2.在回调函数内不管传入任何形式 的参数,都会返回undifind
3.在回调函数内部有三个参数,item,index,arr分别代表,当前项,当前项的下标,数组本身.
4.它会对数组的每一个元素执行一次提供的函数,不改变原数组,没有返回值undifind
五、什么可以从一个类似数组或可迭代对象创建一个新的,浅拷贝。
arrayLike:想要转换成数组的伪数组对象或可迭代对象。
mapFn::回调 thisArg回调第二个this 对象
六、过滤器
七、Set、Map区别(3个)
Set:
(1) 成员不能重复
(2)只有键值没有键名,类似数组
(3)可以遍历,方法有add, delete,has
Map:
(1)本质上是健值对的集合,类似集合
(2)可以遍历,可以跟各种数据格式转换
八、js中监听事件语法(可兼容IE写法)。
element.addEventListener(event, function, useCapture);
element.attachEvent(event, function);
element.detachEvent(event, function);
九、什么是解构赋值?
十、使用箭头函数应该注意些什么?(至少三个)
1、用了箭头函数,this就不是指向window,而是父级(指向是可变的)
2、不能够使用arguments对象
3、不能用作构造函数,这就是说不能够使用new命令,否则会抛出一个错误
4、不可以使用yield命令,因此箭头函数不能用作 Generator 函数
1077

被折叠的 条评论
为什么被折叠?



