javaScript前解析

913 ワード

菜鳥記録:javaScriptの解析問題.
コード1

	var a = 1;
	fun1();
	function fun1(){
		var b = 2;
		console.log(b);
		console.log(a);
	}

     : 
2
1
もっと下を見てください
コード2

	var a = 1;
	fun1();
	function fun1(){
		var b = 2;
		console.log(b);
		console.log(a);
		var a = "123";//      1        
	}

     :
2
undefined
コード2 aの結果はなぜ1ではないですか?解析してみれば分かります.事前解析1.scriptタグ2を検索して、varとfunctionにパラメータがあります.
以下のとおりです
1.  script   
2.       
script type="text/javascript">
	var a;
	function fun1(){
		var b = 2;
		console.log(b);
		console.log(a);
		var a = "123";
	}
	a = 1;
	fun1();


3.    fun1()              
function fun1(){
		var b;
		var a;
		b = 2;
		console.log(b);
		console.log(a);
		a = "123";
	}

コード2のaの結果が分かります.