簡介
javascript是一種解釋型語言,它的執行是自上而下的。但是各瀏覽器對于【自上而下】的理解是有細微差別的,而代碼的上下游也就是程序流對于程序正確運行又是至關重要的。所以我們有必要深入理解js的執行順序。為此,我設計了如下八個實驗來獲得最確切的結果。
實驗
復制代碼 代碼如下:
<script type="text/javascript">
//實驗一:
function t(a)
{
alert("[t(a)]a:" + a);
}
function t(a, b)
{
alert("[t(a, b)]a:" + a + ", b:" + b);
}
t(1);
//結果:
//[t(a, b)]a:1, b:undefined
//實驗二:
function t(a, b)
{
alert("[t(a, b)]a:" + a + ", b:" + b);
}
function t(a)
{
alert("[t(a)]a:" + a);
}
t(1);
//結果:
//[t(a)]a:1
//實驗三:
function t(a)
{
alert("[t(a)]a:" + a);
}
function t(a, b)
{
alert("[t(a, b)]a:" + a + ", b:" + b);
}
t(1, 2);
//結果:
//[t(a, b)]a:1, b:2
//實驗四:
function t(a, b)
{
alert("[t(a, b)]a:" + a + ", b:" + b);
}
function t(a)
{
alert("[t(a)]a:" + a);
}
t(1, 2);
//結果:
//[t(a)]a:1
//實驗五
function t(a)
{
alert("[t(a)]a:" + a);
}
t(1);
function t(a, b)
{
alert("[t(a, b)]a:" + a + ", b:" + b);
}
//結果:
//[t(a, b)]a:1, b:undefined
//實驗六
function t(a)
{
alert("[t(a)]a:" + a);
}
t(1, 2);
function t(a, b)
{
alert("[t(a, b)]a:" + a + ", b:" + b);
}
//結果:
//[t(a, b)]a:1, b:2
//實驗七
function t(a, b)
{
alert("[t(a, b)]a:" + a + ", b:" + b);
}
t(1);
function t(a)
{
alert("[t(a)]a:" + a);
}
//結果:
//[t(a)]a:1
//實驗八
function t(a, b)
{
alert("[t(a, b)]a:" + a + ", b:" + b);
}
t(1, 2);
function t(a)
{
alert("[t(a)]a:" + a);
}
//結果:
//[t(a)]a:1
</script>
新聞熱點
疑難解答
圖片精選