2016-01-18 39 views
0

我不知道這段代碼有什麼問題,爲什麼它不能在我的瀏覽器上運行。嘗試在不同的瀏覽器上運行它。這是一個簡單的斐波那契,它只是從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> 
+2

什麼的console.log的表現? – juvian

+0

next()方法還接受一個可用於修改生成器內部狀態的值。傳遞給next()的值將被視爲暫停生成器的最後一個yield表達式的結果。 –

+0

@KamilBłaszczyk我不認爲控制檯正在打印... –

回答

1
+0

最新的Mozilla是否不運行生成器? –

+0

@KamilBłaszczyk一些版本。你看到控制檯中有任何錯誤嗎? –

+0

沒有什麼只是在瀏覽器中清除頁面 –