JavaScript 函数语法
函数就是包裹在花括号中的代码块,前面使用了关键词 function:
function functionname()
{
这里是要执行的代码
}
当调用该函数时,会执行函数内的代码。
可以在某事件发生时直接调用函数(比如当用户点击按钮时),并且可由 JavaScript 在任何位置进行调用。
提示:JavaScript 对大小写敏感。关键词 function 必须是小写的,并且必须以与函数名称相同的大小写来调用函数。
function doAdd(iNum) {
alert(iNum + 20);
}
function doAdd(iNum) {
alert(iNum + 10);
}
doAdd(10); //输出 "20"
第二个函数覆盖了第一个函数,使 doAdd(10) 输出了 "20",而不是 "30"。
function show(x,y){
alert(x+","+y);
}
//show(1,2); //x=1,y=2
//show(1); //x=1,y=undefined
//show(1,2,3);//x=1,y=2
JavaScript函数重载(采用一个arguments数组来接收参数)
function show(){
for(var i=0;i<arguments.length;i++){
alert(arguments[i]);
}
}
show(1); //1
show(1,2); //1 2
show(1,2,"a"); //1 2 a
局部 JavaScript 变量
在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。
您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。
只要函数运行完毕,本地变量就会被删除。
全局 JavaScript 变量
在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。
JavaScript 变量的生存期
JavaScript 变量的生命期从它们被声明的时间开始。
局部变量会在函数运行以后被删除。
全局变量会在页面关闭后被删除。
Function 对象(类)
Function 类可以表示开发者定义的任何函数。
用 Function 类直接创建函数的语法如下:
var function_name = new function(arg1, arg2, ..., argN, function_body)
每个
arg
都是一个参数,最后一个参数是函数主体(要执行的代码)。这些参数必须是字符串
function sayHi(sName, sMessage) {
alert("Hello " + sName + sMessage);
}
与下面的代码等价:
var sayHi
=
new Function("sName", "sMessage", "alert(\"Hello \" + sName + sMessage);");
Function 对象的方法
Function 对象也有与所有对象共享的 valueOf() 方法和 toString() 方法。这两个方法返回的都是函数的源代码,在调试时尤其有用。例如:
function doAdd(iNum) {
alert(iNum + 10);
}
document.write(doAdd.toString());
Function 对象的 length 属性
属性 length 声明了函数期望的参数个数
function doAdd(iNum) {
alert(iNum + 10);
}
function sayHi() {
alert("Hi");
}
alert(doAdd.length); //输出 "1"
alert(sayHi.length); //输出 "0"