javascript两种不同形式函数定义的区别

第一种方法:

直接用function 函数名 (){} 形式,此方法的函数可以在函数定义语句之前,也可以在定义语句之后调用,因为执行时会首先将“function 函数名 (){} ”进行提前编译

<html>
<body>
<script type="text/javascript">
F(); 
function F(){
    alert('This is F().');
    }
</script>
</body>
</html>

第二种方法:

使用var 函数名=function(){} 形式来定义,但是此时的函数只能在定义语句之后进行调用。

<html>
<body>
<script type="text/javascript">
var F = function(){
    alert('This is F().');
    } 
F(); //必须放到var F =function(){...}之后。
</script>
</body>
</html>

原因分析:

第二种定义方法会被认为是一条赋值语句,而赋值语句是不会被提前编译的,也就是如果放到定义语句之前的话,将会出现函数未定义的现象。

posted on 2013-12-17 17:21  赵成业  阅读(195)  评论(0)    收藏  举报

导航