0

JSFiddle を使用してこの関数を校正していたところ、2 行目にセミコロンがありませんが、どこに行くのかわかりません。

function debtSpiral() {
  var debtID = setInterval(debtIncrease() { //Sets variable for loop stopping later
    debt = (debt * 0.10) + debt; //Increases debt by ten percent...
    document.getElementById("debt").innerHTML = "You owe " + debt + " click(s)"; //Display debt
  }, 60000); //...per minute
  if (debt < 1) { //If you owe less than 1 click
    clearInterval(debtID); //Stop 
  }
}

さらに、JSFiddle は 5 行目で「代入または関数呼び出しを期待していましたが、代わりに式を見ました」と報告しています。これとそれを修正する方法を説明できますか?

最後に、なぜ(end)9 行目で使用する必要があるのでしょうか?

問題のフィドル(「JSHint」を押してエラーを確認してください)

4

3 に答える 3

1

これは単なる構文エラーです。

var debtID = setInterval(debtIncrease() { //Sets variable for loop stopping later

本当に意味がないので、代わりに何をアドバイスすればよいかわかりません。このsetInterval()関数は、最初のパラメーターとして文字列 (そうしないでください) または関数参照のいずれかを取ります。あなたのコードはそのどちらでもありません。それは本当に何でもありません。これは関数呼び出しの後にブロックが続きますが、このコンテキストでは無効です。

たぶんあなたは(この回答に対するコメントが示唆するように)

var debtID = setInterval(function debtIncrease() { // ...
于 2014-01-01T23:06:17.063 に答える
1

無名関数には名前がないことを忘れていました:

var debtID = setInterval(function () {

パーサーがセミコロンの置き忘れなどについて文句を言うとき、それは通常、実際に必要なセミコロンではなく、コードにエラーがあり、それを解析する方法を理解できません。

于 2014-01-01T23:09:34.263 に答える