一、函数声明
函数对任何语言来说都是一个核心的概念。通过函数可以封装任何多条语句,而且可以在任何地方、任何时候调用执行。ECMAScript中的函数使用function关键字来声明,后跟一组参数以及函数体。函数的基本语法如下所示:
function functionName(arg0,arg1,...,argn){
statements
}
以下是一个函数示例:
function sayHi(name,message){
alert('Hello'+name+','+message);
}
这个函数可以通过其函数名来调用;例如:
sayHi("Nich","how are you today?");
输入的结果是:"Hello Nich,how are you todya?".
二、return 返回值
带参和不带参的函数,都没有定义返回值,而是调用后直接执行的。实际上,任何函数都可以通过return语句跟后面的要返回的值来实现返回值。
function methodName(){ //没有参数的函数
reutrn '我被返回了'; //通过return把函数的最终值返回
}
alert(methdoName()); //调用函数会得到函数值,然后输出
function sum(num1,num2){ //有参数的函数
reutrn num1+num2; //通过return喊参数的值相加的和返回;
}
alert(sum(5,6)); //11函数返回的值
三、arguments对象
ECMAScript函数不介意传递进来多少参数,也不会因为参数不统一而错误。实际上,函数体内可以通过arguments对象来接收传递进来的参数。
function methodName(){
returnarguments[0]+'|'+arguments[1]; //得到每次参数的值
}
alert(methodName(1,2,3,4,5,6)); //传递参数
arguments对象的length属性可以得到参数的数量。
function methodName(){
returnarguments.length; //得到6
}
alert(methodName(1,2,3,4,5,6)); //传递参数
我们可以利用length这个属性,来智能的判断有多少参数,然后把参数进行合理的应用。比如,要实现一个加法运算,将所有传进来的数字累加,而数字的个数又不确定。
function methodName(){
var sum=0;
if(arguments.length==0)retur nsum; //如果没有参数,退出
for(var i=0;i<arguments.length;i++){ //如果有,就累加
sum=sum+arguments[i];
}
return sum; //返回累加结果
}
alert(methodName(5,9,12));