标签:
ECMAScript中的函数使用function关键字来声明,后跟一组参数和函数体。使用return语句来返回值。
例:
function sayHi(name,message){
alert(“你好”+name+”,”+message);
return;
}
sayHi(“小白”,“你真帅气”);//你好小白,你真帅气
上边例子调用sayHi()函数并返回undefined值。
l 理解参数
ECMAScript函数不在乎传入多少个参数亦或是传进来的参数是什么数据类型,原因是ECMAScript中的参数在内部使用一个数组来表示的,通过arguments对象来访问这个参数数组,来获取传递个给函数的每个参数。
例:
function howManyArgs(){
alert(arguments.length);
}
howManyArgs(“string”,”15”);//2
howManyArgs(”15”);//1
howManyArgs();//0
命名参数和arguments对象可以一起使用。修改arguments会修改其对应的命名参数的值,相反修改命名参数值并不会反应到arguments对象上。还有就是没有传递值的命名参数将自动被赋予undefined值。
例:
function doAdd(num1,num2){
arguments[1]=10;
alert(arguments[0]+num2);
alert(arguments[3]);
}
doAdd(1,200);//依次弹出11,undefined
注:ECMAScript中的所有参数传递都是值,不是引用传递。
l 没有重载
由于函数参数是一个以包含零个或多个值得数组形式传递的,所以ECMAScript中没有函数签名,不存在传统意义上那样的重载。
例: function add(num1){
return num1+20;
}
function add(num1,num2){
return num1+100;
}
add(1);//101
注意:调用的是第二个函数
标签:
原文地址:http://www.cnblogs.com/half-controller/p/5520090.html