javaScript作用域分析

<script type=text/javascript>
    
   // 作用域分析分爲兩部分
   //預解析
   //執行代碼
   
   //先上一個
   var a=1;
   function f1(){
        alert(a);//undefined
        var a=2;
   }
   f1();
   alert(a);//1
   //預解析 (全局變量)
   //全局a=undefined; 解析的時候只是將變量放到全局的倉庫裏
   //函數f1=function f1(){}
   
   //解析完,執行語句
   //a=1;
    //執行到函數,函數也有作用域,再來用同樣方法
    
    //局部 var a=undefined;
    
    //執行代碼
    //a=2;
    //所以結果嗎寫在代碼後面,再跑起來驗證下是正確的
      
</script>

<script type=text/javascript>
	/*
	 //再來改改代碼
    
     //再上一個
   var a=1;
   function f1(){
        alert(a);//1
        a=2;
   }
   f1();
   alert(a);//2
   
   //對上面的例子注意一點就行,當局部中沒有這個變量會到父作用域中尋找,跑起來檢測
   */
   
   //再改改
   
      
   var a=1;
   function f1(a){
        alert(a);//undefined
        a=2;
   }
   f1();
   alert(a);//1
   //形參a  實際上是var a=undefined
   
</script>
 

<script type=text/javascript>
	//再來一個難一點
	window.οnlοad=function(){
		//alert(1);
		var oDiv=document.getElementById('div1');
		var oInps=document.getElementsByTagName('input');
		for(var i=0;i<oInps.length;i++){
			oInps[i].οnclick=function(){
				//如果這樣寫,你這認i的值是多少
				alert(i);
				oInps[i].style.background='red';//Cannot read property 'style' of undefined
				//知道原因了吧
				//
			}
		}
	};
	


</script>
 //至此結束

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章