在javascript中函数的声明方法有两种:
function func (){
alert("hello,world");
}
var func =new Function (alert("hello,world"));
var func = function(){
alert("hello,world");
}
第一种属于声明式函数,而第二种称为函数构造函数又称为匿名函数,第三种称为函数直接量或者函数表达式。在实际的使用过程中,我们经常用到的是第一种和第三种,因为第二种函数需要每次调用的时候都解析,所以并不多用。
函数有无参函数和有参函数(如下)
function func(a){
alert(a);
}
var a="hello world"
func(a);
在可以使用有参函数的情况下尽量避免使用无参函数,同时使用局部变量代替全局变量,这样有利于函数的封装。
同时,如果在函数的参数不确定的情况下我们使用arguments来调用函数的参数
function func(){
alert(arguments[0]+":"+arguments[1]);
}
var a="hello", b="world"
func(a,b);
在函数内部,我们可以使用arguments[n-1]来调用函数的第n个参数,从而解决函数不确定参数数量的问题。
当我们在使用有参函数和局部变量的时候,那么不可避免的要将函数中部分值传递出去,那么就需要用到返回值。
function func(){
return arguments[0]+":"+arguments[1]
}
var a="hello", b="world"
alert(func(a,b));
我们将需要使用的值传递到外部,可以直接输出,也可以赋给其他变量,但是这种方法只能返回单个值,这时我们可以使用json来返回多个值。
function func(){
return {x:arguments[0], y:arguments[1]}
}
var a="hello", b="world"
alert(func(a,b).x+" "+func(a,b).y);