js執行順序

1.函數執行順序
//定義式函數
function Fn1(){
alert("有預編譯");
}
//賦值式函數
function Fn2(){
alert("沒有預編譯");
}
//函數調用纔出發
Fn1();
function Fn1(){
alert("不報錯誤!");
}
Fn2();
function Fn2(){
alert("報錯,因爲Fn2沒有預編譯");
}
2.jsp裏js塊的執行順序

<script type="text/javascript"> 
      Fn(); 
</script> 
<script type="text/javascript"> 
      function Fn(){ 
         alert("Hello World!"); 
      } 
</script> 
//看似可以但是報錯,在兩個塊裏不行,調換順序可以
3.重複定義函數會覆蓋前個同名函數
4.對於HTML標籤<body>內外函數的執行先後
<script type="text/javascript"> 
function fnOnLoad(){ 
alert("I am outside the Wall!"); 
} 
</script> 
<body onload="fnOnLoad();"> 
<script type="text/javascript"> 
alert("I am inside the Wall.."); 
</script> 
</body> 
//先彈出“I am inside the Wall..”; 
//後彈出“I am outside the Wall!” 
//外面的函數在body元素加載完才觸發,內部的會在它之前執行,body的回調函數
5.JavaScript是單線程
6.看似多線程誤區
function fn1(){ 
setTimeout(function(){ 
alert("我先調用") 
},1000); 
} 
function fn2(){ 
alert("我後調用"); 
} 
fn1(); 
fn2(); 
// 先彈出:“我後調用”, 
// 1秒後彈出:“我先調用” 
//ajax請求中數據處理函數也是這個道理
7.回調函數
常見的回調函數:onclick、onmouseo教程ver、onmousedown、onload等等瀏覽器事件的調用函數;還有Ajax異步請求數據的處理函數;setTimeOut延時執行、setInterval循環執行的函數等。 
未完待續





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