yieldを関数内に記述すると、関数がジェネレータになる。
使い方を見てみよう。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<title></title>
<script type="application/javascript;version=1.8"> <!-- version1.7以降を指定する必要がある -->
function test() {
var generator = sample();
alert(generator.next()); //10を表示
alert(generator.next()); //20を表示
alert(generator.next()); //30を表示
}
function sample() {
var j = 0;
for(i = 0; i < 3; i++) {
j = j + 10;
yield j; //jの値をreturnして、test内で宣言している変数に[10,20,30]と順繰りにつめていくイメージ。
}
}
</script>
</head>
<body>
<input type="button" value="押す。" onclick="test();"><br><br>
</body>
</html>
最終更新:2014年07月21日 10:20