javascriptでは変数の前にvarとvarの違いがあります.

1427 ワード

日常的なjs開発では、私たちはよくこのようなことに遭遇します.変数の前にvarと無加varはプログラムの運行に影響がないようです.
まず、下記のコードの意味を確認します.
//this is a declaration       
var foo;

//this is an assignment      
bar = 3;

//this is a declaration and an assignment     ,        
var dual = 5;
このコードをもう一度確認します.
var foo = 1; // declared properly            
bar = 2; // implied global  
window.baz = 3; // global via window object

delete foo; // false
delete bar; // true
delete baz; // true

foo; // 1
bar; // ReferenceError
baz; // ReferenceError
varで宣言した変数は削除されてはいけない属性を与えられますので、deleteで削除してはいけません.var宣言の変数がないと削除されます.これは(bar=2)私たちが賦課している間に、彼は同じ名前の変数barを層ごとに探します.見つけたら、彼はこの変数を参照します.見つけられなかったら、彼は最終的に全体の対象windowに割り当てられます.この時、私達はwindow.barでこの値を見ることができます.
var foo = 'first time use';
foo = 'second time use';
したがって、変数を定義するときはvarを入れません.ほとんどの場合はこの変数を宣言しましたが、この時点ではこの変数の値を変更したいだけです.
external = 5;
function firsttry() {
  var external = 6;
  alert("first Try: " + external);
}

function secondtry() {
  external = 7;
  alert("second Try: " + external);
}

alert(external); // Prints 5
firsttry(); // Prints 6
alert(external); // Prints 5
secondtry(); // Prints 7
alert(external); // Prints 7
正常な開発の中で、もし特殊な状況がないならば、varを抜かさないでくださいを提案して、もし漏れたらあなたの思い付かない困難な問題が現れるかもしれません.
学習に対して情熱を持っている開発仲間はqq群68542181に参加することを歓迎します.プログラミングが大好きな女の子が入ることをもっと歓迎します.一緒に勉強して進歩しましょう.