函数
函数的基础语法是:
function functionName(arg0,arg1,...,argN) {
statements
}
下面是个示例:
function str(name,age){
document.write("hello my name is " + name + ". and i am " + age + " years old.");
}
str(" oliver",23); //hello my name is oliver. and i am 23 years old.
别的,任何函数在任何时候都能够经由过程return 语句后跟要返回的值来完成返回值。如:
function sum(num1,num2){
return num1 + num2;
alert("hello"); //返回return 以后不会继承实行alert
}
var result = sum(321,32);
document.write(result); //353
由于实行完return 语句以后住手并马上退出,所以位于return 语句以后的任何代码都不会实行。
固然,一个函数能够包括多个return 语句。如:
function conp(a,b){
if (a > b){
return a;
}else if (a == b){
return "equal";
}else{
return b;
}
}
var result = conp(4,4);
document.write(result); //equal
var result = conp(321,4);
document.write(result); //321
别的,return 语句也能够不带有任何返回值。如许,就能够马上住手函数实行而且返回undefined。如:
function conp(a,b){
if (a > b){
return;
document.write("bad");
}else{
document.write(b);
}
}
var a = conp(33,3);
document.write(a); //返回undefined 且不会涌现"bad"
函数的参数
ECMAScript 函数的参数能够是恣意多个,也能够是任何数据类型。它在函数体内能够经由过程arguments 对象来接见,如第一个参数是arguments[0]、第二个是arguments[1]等等。定名的参数只是供应了方便,但不是必需的。如:
function greeting(){
document.write("hello " + arguments[0] + ". you look " + arguments[1] + ".");
}
greeting("oliver","good"); //hello oliver. you look good.
别的,能够经由过程接见arguments 对象的length 属性,取得有若干参数传递给了函数。如:
function countArguments(){
document.write("there are " + arguments.length + " arguments here.");
}
countArguments(321,321,32,32); //there are 4 arguments here.
能够应用这一点与if 语句结合做推断。如:
function count(){
if (arguments.length == 1){
document.write("you just have 1 arguments.");
}else{
document.write("you have many arguments.");
}
}
count(321,321,321) //you have many arguments.
别的,arguments[] 能够与定名参数一同运用。
函数的重载(没有重载)
假如定义了两个名字雷同的参数,则改名字只属于后定义的函数。如:
function add(){
document.write(arguments[0] + arguments[1]);
}
function add(){
document.write(arguments[0] + 100);
}
add(321,2); //421 不会实行第一个函数(两个参数相加),只实行末了一个同名的函数(第一个参数加上100)