例子:
function sayHi(name,message){
alert("hello " + name + " , " + message);
}
sayHi("Aska","I want to listen to your concert."); //弹出hello aska , I want to listen to your concert.
//from page 63
return用法
在需要返回值的时候用return使用,return后的语句永远不会执行;
function sum(num1,num2){
return num1 + num2;
alert("aska Yang"); //不会执行
}
//调用
var result = sum(5,10); //15;
return语句不带任何返回值,一般用在需要提前停止函数执行而不需要返回值的情况下。
3.7.1 理解参数
实际上,参数的值可以通过arguments[0]来获取,之前的syaHi函数,也可以这样写:
function sayHi(){
alert("hello " + arguments[0] + " , " + arguments[1]);
}
//调用
sayHi("Aska","I want to listen to your concert."); //弹出hello aska , I want to listen to your concert.
//from page 64
通过arguments对象的length属性可以获得传给函数的参数有多少个;
function howManyArgs(){
alert(arguments.length);
}
howManyArgs("string",20); // 2
arguments对象也可以和命名参数一起使用:
function doAdd(num1, num2){
if(arguments.length == 1){
alert(num1 + 10);
}else if(arguments.length == 2){
alert(arguments[0] + num2);
}
}
arguments它的值永远和对应的命名参数的值保持同步。
扫描二维码关注公众号,回复:
2501462 查看本文章
3.7.2 没有重载
ECMAScript函数没有签名(接受的参数的类型和数量),因为其参数是由包含零或多个值的数组来表示的。没有函数签名,真正的重载是不可能做到的。
如果定义两个相同命名的函数,后一个函数会覆盖前面的函数。