JS函数的几种定义方式分析

JS函数的定义方式比较灵活,它不同于其他的语言,每个函数都是作为一个对象被维护和运行的。

先看几种常用的定义方式:

function func1([参数]){/*函数体*/}
var func2=function([参数]){/*函数体*/};
var func3=function func4([参数]){/*函数体*/};
var func5=new Function();

上述第一种方式是最常用的方式,不用多说。
第二种是将一匿名函数赋给一个变量,调用方法:func2([函数]);
第三种是将func4赋给变量func3,调用方法:func3([函数]);或func4([函数]);
第四种是声明func5为一个对象。

再看看它们的区别:

function func(){ //函数体 } //等价于 var func=function(){ //函数体 }

但同样是定义函数,在用法上有一定的区别。

<script> //这样是正确的 func(1); function func(a) { alert(a); } </script>

<script> //这样是错误的,会提示func未定义,主要是在调用func之前没有定义 func(1); var func = function(a) { alert(a); } //这样是正确的,在调用func之前有定义 var func = function(a) { alert(a); } func(1); </script>

用同样的方法可以去理解第三种定义方式。

第四种定义方式也是需要声明对象后才可以引用。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wgwpsx.html