可以在函数的()中指定一个或多个形参(形式参数)。
多个形参之间用,逗号隔开,在()内声明形参相当于在函数内部声明了对应的变量,但没有赋值。
在调用函数时,可以在()中指定实参(实际参数),实参将会赋值给函数中对应的形参。(函数的实参可以是任意的数据类型)
调用函数时解析器不会检查实参的类型。
所以要注意,是否有可能接收到非法的参数,如果有可能,则需要对参数进行类型的检查。
function fun(a,b){ // 形参的a和b相当于在内部声明了a和b但未赋值
// var a;
// var b;
console.log(a+b);
}
fun(3,5); // 结果为8
// 调用函数时解析器不会检查实参的类型
fun(3,"hello"); // 结果为3hello
fun(true,false); // 结果为1
调用函数时,解析器也不会检查实参的数量。
多余实参不会被赋值,如果实参的数量少于形参的数量,则没有对应实参的形参将时undefined。
fun(3,5,10,"hello",true); // 值还是8
函数的返回值
可以使用return来设置函数的返回值。
语法:return 值
return返回后的值将会作为函数执行结果返回,也就是需要定义一个变量来接收该结果。
function fun2(a,b,c){
var sum = a+b+c;
return sum; // 将sum的值返回
alert("我不会被执行");
// return; 返回undefined
}
var result = fun2(3,5,3);
console.log(result); // 结果为11
以上代码中变量result的值就是函数的执行结果,函数返回什么,result的值就是什么。
函数中return后的语句不会执行,如果return语句后不跟任何值就相当于返回一个undefined,如果函数中不写return,则也会返回undefined。
return后可以跟任意类型的值