เครื่องกำเนิดไฟฟ้า
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