Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScript変数はループの外側または内側を宣言しますか?


ECMA- / Javascript言語は、withvarで宣言された変数を関数の先頭に持ち上げます。これは、この言語には関数スコープがあり、他の多くのCのような言語のようにブロックスコープがないためです。

function() {
   for(var a = 0; a < 7; a ++) {
      var b = 100;
   }
}

と同じです

function() {
   var b;
   for(var a = 0; a < 7; a ++) {
      b = 100;
   }
}

しかし、letの場合、これは当てはまりません。字句スコープがあります。したがって、ループの外側で同じ変数が必要になる場合を除いて(または、各反復が前の反復でその変数に対して実行された操作に依存する場合)、それが使用されるスコープを宣言することをお勧めします。


  1. JavaScriptでブロックスコープ変数を宣言する方法は?

    ブロックスコープの変数を宣言するには、ES2015で導入されたキーワードletとconstを使用します。 以下は、JavaScriptでのブラックスコープ変数の宣言を示すコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /&g

  2. JavaScriptの外部関数の内側からリスナーを削除しますか?

    外部関数からリスナーを削除するには、removeEventListener()を使用します。 例 以下はコードです- <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title>