JS中generater和箭头函数generater跟函数很像:
function* fn(x){ yield x; yield x++; return x;}
如上所⽰,generater⽤function*定义,可以⽤yield返回多次,也可以使⽤return返回;
调⽤generater有两个⽅法,⼀是⼀直调⽤generater的next()⽅法;
console.());
console.());
console.());
直到fn.next()返回true,遍历结束;
第⼆种,使⽤f;
for(var i of fn());
箭头函数
ES6新加的函数;
函数⽤=>定义;
例如:X=>X * X;
相当于function(x){
return x * X;
}
当参数⼤于⼀个时⽤()括起来;
如果返回的是对象,则需要这样写;
js argumentsx => ({ fun: x })
箭头函数的最⼤作⽤是修复了this的指向;
在闭包函数中⽤箭头函数就不需要使⽤之前的hack⽅式修改this的指向了,⽤箭头函数替代该函数就可以了。箭头函数有⼏个使⽤注意点。
(1)函数体内的this对象,就是定义时所在的对象,⽽不是使⽤时所在的对象。
(2)不可以当作构造函数,也就是说,不可以使⽤new命令,否则会抛出⼀个错误。
(3)不可以使⽤arguments对象,该对象在函数体内不存在。如果要⽤,可以⽤Rest参数代替。
(4)不可以使⽤yield命令,因此箭头函数不能⽤作Generator函数。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。