如何定义函数和调用:
<script>
格式1:
function 函数名称(参数名称1,参数名称2....){
//函数的里面业务逻辑
//直接在这输出
document.write("xxx") ;
}
格式1调用:
单独调用
函数名称(实际参数列表) ;
格式2:(推荐)
function 函数名称(参数名称1,参数名称2....){
函数的里面的业务逻辑
return 结果;
}
格式2调用:
赋值调用
var 最终结果变量 = 函数名称(实际参数列表) ;
</script>
定义函数的注意事项
1)js是弱类型语言,定义函数的时候,参数名称不能携带var
举例:
<script>
//定义函数,两个数据求和
//格式1的写法
//function sum(var a, var b){//不能带var
function sum(a, b){
var c = a + b ;
document.write("c = " + c);
}
//调用
sum(10, 20) ;
</script>
输出结果:
c = 30
2)js定义时候,没有返回值类型,但是函数中可以携带return语句,代表方法结束!
举例:
<script>
//定义函数,两个数据求和
//格式2的写法
function sum(a, b){
var c = a + b ;
return c;
}
//赋值调用
var result = sum(10, 15) ;
document.write("result = " + result) ;
</script>
输出结果:
result = 25
3)Js中没有函数重载的概念,如果方法名相同,后面定义的函数将前面定义的函数覆盖了
举例:
<script>
//第一个interval函数
function interval(a, b){
return a + b;
}
//第二个interval函数
function interval(a, b){
return a + b;
}
//赋值调用
var result = interval(10, 15) ;
document.write("result = " + result) ;
</script>
输出结果:
result = 25
4)实际参数列表与形式参数列表的参数个数不一致
4.1实际参数列表 < 形式参数列表,函数依然会被调用,不过值是"NaN",有一个形式参数没有赋值;
举例:
<script>
function sum(a, b, c){
var d = a+b+c ;
return d ;
}
//赋值调用
var result = sum(10, 15) ;
document.write("result = " + result) ;
</script>
输出结果:
result = NaN
4.2实际参数列表 > 形式参数列表,将实际参数的值赋值给形式参数,多余的实际参数,直接省略不计!
举例:
<script>
function sum(a, b, c){
var d = a + b + c ;
return d ;
}
//赋值调用
var result = sum(10, 10, 10, 10) ;
document.write("result = " + result) ;
</script>
输出结果:
result = 30
5)隐藏一个数组名称:arguments,作用:将实际参数绑定给形式参数
举例:
<script>
function sum(a, b, c){ //a=10,b=15,c=20
//隐藏一个数组名称:arguments
//作用:将实际参数绑定给形式参数
for(var i = 0; i < arguments.length; i++){
//换行遍历
document.write(arguments[i] + " <br/>");
}
var d = a + b + c ;
return d ;
}
//赋值调用
var result = sum(10, 15, 20) ;
document.write("result = " + result) ;
</script>
输出结果:
10
15
20
result = 45