JSで宣言した変数の3つの方式のconst var let

1810 ワード

JavaScriptには変数を宣言する3つの方法があります. var let
  • const:定数を宣言するために使用されます.注意:定義された変数は、同時に初期化しなければなりません.また、その値の後は変更できません. 
    		const PI=3.14;
    		// const a;//  。     。
    		console.log('const PI:',PI);//  
    		// PI = 3.1415926;//  。         。
  • var:最も一般的な宣言変数のキーワード. 定義された変数の場合、初期化がないとエラーが発生しません.undefinedが出力されます.その値は後で修正できます.varは大域変数を宣言するために使用することができ、また局所変数を宣言することができ、それらの宣言の位置によると:
  •  大域変数:関数外で定義された変数.(注意:キーワード宣言を使用していない変数は、デフォルトはグローバル変数です.)スコープはコードファイル全体です.
  •  ローカル変数:関数内で定義される変数.スコープは現在の関数の内部です.
  •                 var b ;//   。
    		console.log('var b:',b);//  undefined
    		b = 1 ;//   
    		console.log('var b,    1:',b);//  1
    
    		//        
    		{
    			// console.log('var b,              :',b);//  1
    			var b=2;//    
    			console.log('var b,     :',b);//  2
    		}
    		console.log('var b,            :',b);//  2
    
    		//       
    		function varFun(){
    			console.log('var b,    b:',b);//  2
    			var b=3;//    b
    			console.log('var b,    b:',b);//  3,       undefined(    ,   )
    			var b2 = 33;//    b2,         
    			b3 = 333;//    b3,          
    
    		}
    		varFun();//    
    		console.log('var b,     ,    b     b  :',b);
    		// console.log('   var     b2=33,       :',b2);//  ,b2    。
    		console.log('             b3=333,        :',b3);//  333
  • let:ブロックレベルスコープ.ブロックレベル{}でletで定義された変数は、現在のブロック{}から離れると使用できません.注意:{…}ペアの花括弧は一つの特定のコードブロックであり、直接の{}、流れ文の{}、関数の{}を含む.関数宣言は、自身が{}を持っています.コードブロックにも属しています.
    	        var c=11;
    		{
    			let c=12;
    			console.log('let c=12,b  :',c);//  12
    		}
    			console.log('    c  :',c);//  11
    【var宣言変数については、関数内のその問題点:】理由は、functionスコープ内の局所変数宣言が一番前に出されるからです.詳細な表示:http://www.cnblogs.com/silentjesse/p/4024536.html