函數定義
函數是由這樣的方式進行聲明的
函數的構造語法有這三種
Js代碼
代碼如下:
示例
Js代碼
代碼如下:
如果函數無明確的返回值
Function()構造函數
函數實際上是功能完整的對象
var function_name = new function(arg
在上面的形式中
var sayHi = new Function("sName"
sayHi("jzj
函數名只是指向函數的變量
Js代碼
復制代碼 代碼如下:
function callAnotherFunc(fnFunction
fnFunction(vArgument);
}
var doAdd = new Function("iNum"
callAnotherFunc(doAdd
注意
如果你定義的函數沒有參數
注意
Function()函數允許我們動態地建立和編譯一個函數
函數直接量
函數直接量是一個表達式
Js代碼
代碼如下:
var func = function(arg
雖然函數直接量創建的是未命名函數
Js代碼
代碼如下:
var f = function fact(x) {
if (x <=
return
} else {
return x * fact(x
}
};
注
•函數引用
函數名並沒有什麼實質意義
Js代碼
代碼如下:
function square(x){return x*x;}
var a = square;
var b = a(
這有點像C++中的函數指針了
Function()構造函數和函數直接量差別
Function()構造函數和函數直接量之間的差別有一點就是
Js代碼
代碼如下:
var y = "global";
function constructFunction() {
var y = "local";
//Function()構造函數
return new Function("return y;");//不使用局部作用域
}
function constFunction() {
var y = "local";
//函數直接量
var f = function () {
return y;//使用局部作用域
};
return f;
}
//顯示 global
alert(constructFunction()());
//顯示 lobal
alert(constFunction()());
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/20095.html