Javascript函数
函数是一组可以随时随地运行的语句,是ECMAScript的核心,函数是由这样的方式进行声明的:关键字function、函数名、一组参数,以及置于括号中的待执行代码。
函数的基本代码如下:
function functionName(arg0, arg1, ... argN) { statements }
例如:
function sayHi(sName, sMessage) { alert("北纬30度 " + sName + sMessage); }
函数的调用:
如果调用上边的函数只需要这样写sayHi("zzl","hello")
函数的返回值:
函数sayHi()未返回值,不过不必专门声明它
即使函数确定有值,也不必明确声明它。该函数只需要使用return运算符把需要返回的值写在后边就可以了
例:
function test()
{
var i="111"; var j="222";
return i+j;
}
需注意的一点是:如果函数无明确的返回值,或调用了没有参数的return那它真正的返回值为undefined
例如
function a() {}
alert(a());
此时弹出的就是undefined.
arguments对象的使用
在函数代码中,使用特殊对象arguments,开发者无需明确指出参数名,就能访问它们。
例如,在函数sayHi()中,第一个参数是message.用arguments[0]也可以访问这个值,即第一个参数的值(第一个参数位于位置0,第二个参数位于位置1,依此类推)。
例如,在应用程序中一个页面可能有添加和修改两个功能,添加时无需传参数,而修改时可能需要传递一个id,这两个功能如果都通过调用js提交表单,可以用一个function
function edit() { var date=new Date().toString(); var url = "test.aspx?data="+date; if (arguments.length > 0) { url = url + "&id=" + arguments[0]; } //提交url } //add调用 edit(); //修改调用 var id = $("#id").val(); edit(id);
上例其实是通过arguments对象模拟的js重载功能
function doAdd() { if(arguments.length == 1) { alert(arguments[0] + 5); } else if(arguments.length == 2) { alert(arguments[0] + arguments[1]); } } doAdd(10); //输出 "15" doAdd(40, 20); //输出 "60