JS中generater和箭頭函數


generater跟函數很像:

function* fn(x){ yield x; yield x++; return x;}

如上所示,generater用function*定義,可以用yield返回多次,也可以使用return返回;

調用generater有兩個方法,一是一直調用generater的next()方法;

console.log(fn.next());

console.log(fn.next());

console.log(fn.next());

直到fn.next()返回true,遍歷結束;

第二種,使用for....of;

for(var i of fn());

箭頭函數

ES6新加的函數;

函數用=>定義;

例如:X=>X * X;

相當於function(x){

return x * X;

}

當參數大於一個時用()括起來;

如果返回的是對象,則需要這樣寫;

x => ({ fun: x })

箭頭函數的最大作用是修復了this的指向;

在閉包函數中用箭頭函數就不需要使用之前的hack方式修改this的指向了,用箭頭函數替代該函數就可以了。

箭頭函數有幾個使用注意點。

(1)函數體內的this對象,就是定義時所在的對象,而不是使用時所在的對象。

(2)不可以當作構造函數,也就是說,不可以使用new命令,否則會拋出一個錯誤。

(3)不可以使用arguments對象,該對象在函數體內不存在。如果要用,可以用Rest參數代替。

(4)不可以使用yield命令,因此箭頭函數不能用作Generator函數。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM