3

私はいくつかのjsコードを持っています。その中で、js lint を実行しました。このエラーがあります:

「currentApple」はすでに定義されています

機能させるためにvar を削除する必要がありcurrentAppleますelseか?

私は以下のコードを提供しています:

if(appleTab == Lifeline){
    var currentApple = appleWorklist.getcurrentAppleTime("currentAppointmentcurrentAppleTime");
    fo.allApples = currentApple;
}
else
{
    var currentApple = appleWorklist.getcurrentAppleTime("CalendarcurrentAppointmentcurrentAppleTime");
    fo.allApples = currentApple;
}
4

2 に答える 2

4
var currentApple;
if (appleTab == Lifeline) {
    currentApple = /* etc. */
于 2013-09-20T16:14:16.173 に答える
2

JavaScriptにはブロックスコープがないためcurrentApple、コードスニペットでは基本的に同じものです。

Douglas Crockfordの聖書、パラグラフ変数から:

JavaScript にはブロック スコープがないため、ブロックで変数を定義すると、他の C ファミリー言語の経験があるプログラマーが混乱する可能性があります。関数の先頭ですべての変数を定義します。

関数の先頭で var ステートメントを使用して、使用するすべての変数を 1 回宣言するだけです。

于 2013-09-20T16:14:18.990 に答える