定义
方式一
使用function关键字定义函数
格式:
function 函数名(形参列表){
函数体
}
在JavaScript语言中,定义带有返回值的函数,只需要在函数体内直接使用return语句返回值即可。
- 例子
<script type="text/javascript">
//定义无参函数
function f1(){
alert("无参函数被调用!");
}
//调用无参函数
f1();
//定义带参函数
function f2(a, b){
alert("有参函数被调用!" + a + " " + b);
}
f2(12, "apple");
//待返回值的函数定义
function f3(a) {
alert("带返回值的函数被调用!")
return a;
}
alert(f3(3));
</script>
方式二
使用格式如下:
var 函数名=function(形参列表){函数体}
- 例子
<script type="text/javascript">
var f1 = function (){
alert("无参函数被调用!");
}
f1();
var f2 = function (a){
alert("有参函数被调用!");
}
f2();
var f3 = function (a, b){
return a + b;
}
alert(f3(1, 2));
</script>
注意事项
在Java中函数允许重载。
但是在JS中函数的重载会直接覆盖掉上一次的定义。
隐形参数
函数的arguments隐形参数(只在function函数内)
就是在function函数中不需要定义,但却可以直接用来获取所有参数的变量。我们管它叫隐形参数。
隐形参数特别像java基础的可变长参数一样。
public void fun(Object …args )
可变长参数其实是一个数组。那么js中的隐形参数也跟java的可变长参数一样。操作类似数组。
<script type="text/javascript">
//JS的隐形参数类似,java的可变参数,相当于数组
function f1(){
//通过arguments访问参数列表
for(var i = 0; i < arguments.length; i++){
alert(arguments[i]);
}
}
f1(1, true, null, undefined);
</script>
- 例子
编写函数,返回所有参数累加和。
var f2 = function (){
var sum = 0;
for(var i = 0; i < arguments.length; i++)
sum += arguments[i];
return sum;
}
alert(f2(1, 3, 5, 7));