写在函数名后的()里的内容即参数.
参数可以有多个,参数之间用“,”隔开、
定义时的参数称为 形参
调用时的参数称为 实参
注意:一般情况下,形参与实参的数量应保持一致
一.实参与形参个数可以有偏差,不会因为参数不统一而错误
1.functionbox(a,b){
return a + b;
}
alert(box(1,3,5)); //运行结果:“4”。
//进行的运算为“1+3”,没有用到“5
2.functionbox(a,b,c){
return a + b+c;
}
alert(box(1,'5')); //运行结果:15undefined。
//结果为sring类型。进行的运算1与‘5’的字符连接,再与一个不存在(undefined)的字符连接,结果即为15undefined
二.JS
函数不能重载。
1.function box(a,b,c){
alert('执行了第一个函数,' + a +'+' + c + '='+(a+c));
}
function box(a,b,c){
alert('执行了第二个函数,'+ a + '+' + b + '='+(a+b));
}
alert(box(1,'5',3)); //执行结果为:执行了第二个函数,1+5=15
//类型为string.
2.function box(a,b,c){
alert('执行了第二个函数,'+ a + '+' + b + '='+(a+b));
}
function box(a,b,c){
alert('执行了第一个函数,' + a +'+' + c + '='+ (a+c));
}
alert(box(1,'5',3)); //执行结果为:执行了第一个函数,1+3=4
//类型为number.
结论,JS中的函数体与形参、实参以及形参与实参的关系是:遵循一个原则:函数实现功能
函数体与形参关系:形参必须满足函数体的必要需求,否则没法进行,即使用了形参未定义的‘字面量’,出错:c is not defined 。
返回函数
题目描述
实现函数 functionFunction,调用之后满足如下条件:
1、返回值为一个函数 f
2、调用返回的函数 f,返回值为按照调用顺序的参数拼接,拼接字符为英文逗号加一个空格,即 ‘, ’
3、所有函数的参数数量为 1,且均为 String 类型
输入例子:
functionFunction(‘Hello’)(‘world’)
输出例子:
Hello, world
1.function functionFunction(str){
//既然要返回函数,那么就要写一个函数进去咯;用函数表达式,因为要让他在执行时才被解析
var f=function(s){
//这里要返回值为按照调用顺序的参数拼接,拼接字符为英文逗号加一个空格
return str+", "+s;//记得逗号后面加空格
}
//返回函数f
return f;
}
2.按照调用顺序的参数拼接,拼接字符为英文逗号加一个空格
所有函数的参数数量为 【 1 】,且均为【 String 类型】
*/
function functionFunction(str){
if(typeof str=="string"&&argument.length==1){
var f=function(s){
if(typeof s=="string"&&argument.lenght==1){
return str+", "+s;
}
return f;
}
}
}
带有返回值的函数
return语句:(1)返回结果 (2)结束函数
return只能有一个返回值