javascript有哪几种定义函数的方法

JavaScript067

javascript有哪几种定义函数的方法,第1张

/*第一种方法,使用function语句,格式如下*/

function fn(){

alert("这是使用function语句进行函数定义")

}

fn()

/*第二种方法,使用Function()构造函数克隆函数*/

var F = new Function("a","b","alert(a+b)")

F(a,b)

其实相当于如下代码:

function F(a,b){

alert(a+b)

}

/*第三种方法,使用函数直接量*/

var zhenn = function(){

alert("zhenn")

}

zhenn()

这个js没有限定,理论上,你可以传n个。但是实际开发中,如果有很多参数的时候,需要把参数融合成一个json传进去,这样性能才会好。例如有三个参数 a,b,c;我们可以这样传

func({

a:1,

b:2,

c:3

});

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>用同样的方法可以去理解第三种定义方式。