1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| 函数参数默认值 function foo(a=1,b){ } foo(10,20);
function foo(...rest){ console.log(rest)} ; Array.from() var str = "abcd";Array.from(str); Array.of()
var str = new Set(['参数']);
keys(): values(): entries(): forEach():
var map = new Map([["name","john"],["age",30]]); map.set(1,1); map.size map.set(key,value);map.get(key);map.delete(key);map.has(key);map.clear(); keys(): values(): entries(): forEach():
1. let foo = () =>10; 2.含有多条语句; 3.this的指向问题; 在箭头函数中,this指向要看{}外面的this指向什么;正常函数里看是谁触发的函数; 4.在哪定义的this就指向谁;
生成器函数: function*foo(){yield a } var f = foo(1); f.next(); yield Symbol: 一种新的原始数据类型,只要是为了避免属性名的重复; var obj = {name:"zhang"}; var s = Symbol(); obj[s] = "li"; this指向: call() apply() bind() ; 会改变this指向;严格模式下,在函数内部定义的 看包含的父级;正常模式下,看触发函数的事件源是谁; obj.方法名.call(obj2,1,2); obj.方法名.apply(obj2,[1,2]); obj.方法名.bind(obj2)(1,2);
|