17.生成器函式宣告與呼叫
阿新 • • 發佈:2022-01-02
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<script>
// 生成器就是一個特殊的函式,可以用來進行非同步程式設計,ES6提供的一種非同步程式設計解決方案,語法行為與傳統函式完全不同
// 之前的寫法是純回撥函式
// 中間必須加上*號
function* gen() {
// console.log("生成器函式");
console.log(111);
yield "函式分隔符"; //yield函式程式碼的分隔符,三個分隔符產生四塊程式碼 console.log(222);
yield "函式分隔符2"; console.log(333);
yield "函式分隔符3"; console.log(444); }
let result = gen(); //直接呼叫不行 // console.log(result);
// 藉助next方法去呼叫 // result.next(); // result.next(); // result.next(); // result.next();
// 遍歷 for (const iterator of gen()) { console.log(iterator); } </script> </body> </html>
yield "函式分隔符"; //yield函式程式碼的分隔符,三個分隔符產生四塊程式碼 console.log(222);
yield "函式分隔符2"; console.log(333);
yield "函式分隔符3"; console.log(444); }
let result = gen(); //直接呼叫不行 // console.log(result);
// 藉助next方法去呼叫 // result.next(); // result.next(); // result.next(); // result.next();
// 遍歷 for (const iterator of gen()) { console.log(iterator); } </script> </body> </html>