函数:
一、可以使用function关键字来定义函数
使用的格式如下:
function 函数名(形参){
函数体;
}
在JavaScript语言中,如何定义带有返回值的函数?
只需要在函数体内直接使用return语句返回值即可。
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
//定义一个无参函数
function fun(){
alert("无参函数fun被调用了");
}
//f = fun();
function fun2(a,b){
//alert("有参函数fun()2被调用了 a=>" + a + ",b=>" + b); //有参函数fun()2被调用了 a=>12,b=>abc
}
fun2(12,"abc");
//定义带有返回值的函数
function sum(num1,num2){
var result = num1 + num2;
return result;
}
alert(sum(100,50)); //150
</script>
</head>
<body>
</body>
</html>
二、使用格式如下: var 函数名 = function(形参列表){函数体}
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
var fun = function (){
alert("无参函数");
}
//fun();
var fun2 = function (a,b){
alert("有参函数a="+a+",b="+b);
}
//fun2(1,2);
var fun3 = function (num1,num2){
return num1 + num2;
}
alert(fun3(100,200));
</script>
</head>
<body>
</body>
</html>
1.重载:
在java中函数允许重载,但是在JS中函数的重载会直接覆盖掉上一次的定义
2.函数的arguments隐形函数(只在function函数内)
就是function函数不需要定义,但却可以直接用来获取所有参数的变量。我们管它叫隐形参数。隐形参数特别像java基础的可边长参数一样。
public void fun(Object…args);
可边长参数其实是一个数组。
那么js中的隐形数组也跟java的可边长参数一样。操作类似数组。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
function fun(){
//alert(arguments.length); //可查看参数个数
alert("无参函数fun()");
}
//fun(1,"ad",true);
//需求:要求 编写一个函数,用于计算所有参数相加的和并返回
function sum(num1,num2){
var result = 0;
for(var i = 0; i < arguments.length; i++){
if(typeof (arguments[i]) == "number"){
result += arguments[i];
}
}
return result;
}
alert(sum(1,2,3,4,"abc",6,7,8,9));
</script>
</head>
<body>
</body>
</html>
运行结果: