我不知道這段代碼有什麼問題,爲什麼它不能在我的瀏覽器上運行。嘗試在不同的瀏覽器上運行它。這是一個簡單的斐波那契,它只是從mozilla開發者站點粘貼關於發電機的信息。需要我的腳本的一些建議
<html>
<head>
<!-- Internal Javascript Function -->
<script language="javaScript">
//Write your javascript functions within this script tag
function* fibonacci(){
var fn1 = 0;
var fn2 = 1;
while (true){
var current = fn1;
fn1 = fn2;
fn2 = current + fn1;
var reset = yield current;
if (reset){
fn1 = 0;
fn2 = 1;
}
}
}
var sequence = fibonacci();
console.log(sequence.next().value); // 0
console.log(sequence.next().value); // 1
console.log(sequence.next().value); // 1
console.log(sequence.next().value); // 2
console.log(sequence.next().value); // 3
console.log(sequence.next().value); // 5
console.log(sequence.next().value); // 8
console.log(sequence.next(true).value); // 0
console.log(sequence.next().value); // 1
console.log(sequence.next().value); // 1
console.log(sequence.next().value); // 2
</script>
<!-- External Javascript Function -->
<script language="JavaScript" src="fibo.js" type="text/javascript"/>
</head>
<body>
</body>
</html>
什麼的console.log的表現? – juvian
next()方法還接受一個可用於修改生成器內部狀態的值。傳遞給next()的值將被視爲暫停生成器的最後一個yield表達式的結果。 –
@KamilBłaszczyk我不認爲控制檯正在打印... –