1.JavaScript 中函数有两种定义方式:
第一种:使用function关键字来定义函数
格式如下:
function 函数名 (形参列表){
函数体;
}
形参列表不需要加数据类型
在JavaScript语言中,如何定义带有返回值的函数?
只需要在函数体内直接使用return语句返回值即可。
<!DOCTYPE html>
<html lang="zh_CN">
<head>
<meta charset="UTF-8">
<title>假装有标题</title>
<script type="text/javascript">
function fun(){
alert("无参函数fun()被调用了")
}
fun();
function fun2(a,b){
alert("有参函数fun2()被调用了,a="+ a + ",b=" + b)
}
fun2(12,"abc");
function sum(n,m){
var result=n+m;
return result;
}
alert(sum(100,50));
</script>
</head>
<body>
</body>
</html>
第二种:
var 函数名=function(形参列表){ 函数体;}
<!DOCTYPE html>
<html lang="zh_CN">
<head>
<meta charset="UTF-8">
<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 sum=function(n,m){
return n+m;
}
alert(sum(100,200));
</script>
</head>
<body>
</body>
</html>
注:在JS中函数允许重载,但是在JS中函数的重载会直接覆盖掉上一次的定义。
<!DOCTYPE html>
<html lang="zh_CN">
<head>
<meta charset="UTF-8">
<title>假装有标题</title>
<script type="text/javascript">
var fun=function(){
alert("无参函数");
}
var fun=function(a,b){
alert("有参函数,a=" + a +",b=" + b);
}
fun();
</script>
</head>
<body>
</body>
</html>
2.函数的arguments隐性参数(只有function函数内)
就是在function函数中不需要定义,但却可以直接用来获取所有参数的变量。我们管它叫隐形参数。隐形参数特别想java基础的可变长参数一样。
public void fun(Object...args);
可变长参数其实是一个数组。那么JS中的隐形参数也跟Java中的可变长参数一样,操作类似数组。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function fun(){
alert(arguments);//object arguments
alert(arguments[0]);//1
alert(arguments[1]);//true
}
fun(1,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,"abc",4,5,6,7,8,9));//45
</script>
</head>
<body>
</body>
</html>