เครื่องกำเนิดไฟฟ้า
JavaScript รองรับ ฟังก์ชันตัวสร้าง และ วัตถุตัวสร้าง . ฟังก์ชันเครื่องกำเนิดไฟฟ้า เหมือนกับฟังก์ชันปกติ แต่เมื่อใดก็ตามที่จำเป็นต้องสร้างมูลค่า จะใช้ 'ผลตอบแทน ' คำหลักมากกว่า 'ผลตอบแทน '. 'ผลตอบแทน ' คีย์เวิร์ดหยุดการทำงานของฟังก์ชันและส่งค่ากลับไปยังผู้โทร มีความสามารถในการทำงานต่อจากที่ค้างไว้
ไวยากรณ์
function* generator(){ yeild 1; yeild 2; }
ตัวอย่าง
ในตัวอย่างต่อไปนี้ การใช้ฟังก์ชันตัวสร้าง , พิมพ์ตัวเลขธรรมชาติ 10,9 และ 8 แล้ว แทนที่จะพิมพ์แต่ละหมายเลขเราสามารถเรียกใช้ for loop และพิมพ์ตัวเลขใดก็ได้ที่เราต้องการ
<html> <body> <script> function * number() { var num = 10; while (true) { yield num--; } } var gen = number(); document.write(gen.next().value); document.write("</br>"); document.write(gen.next().value); document.write("</br>"); document.write(gen.next().value); </script> </body> </html>
ผลลัพธ์
10 9 8