function語句不是定義一個新的函數,並且可以定義你的函數動態使用Function()建構使用操作符的唯一途徑。
註:這是物件導向程式設計的術語。第一次可能會覺得不太習慣,這裡是沒有問題的。
文法
以下是使用new運算子建立一個使用函數Function()建構的語法。
<script type="text/javascript"> <!-- var variablename = new Function(Arg1, Arg2..., "Function Body"); //--> </script>
Function()函式建構預期任意數量的字串參數。最後一個參數是函數體- 它可以包含任意JavaScript語句,用分號彼此分開。
請注意,Function()構造不通過任何參數,指定一個名字為它建立函數。使用Function()建構函式建立的未命名的函式稱為匿名函式。
範例:
以下是建立一個函數的範例:
<script type="text/javascript"> <!-- var func = new Function("x", "y", "return x*y;"); //--> </script>
這行程式碼創建了一個新的函數是或多或少等同於定義的函數的語法:
<script type="text/javascript"> <!-- function f(x, y){ return x*y; } //--> </script>
這表示你可以呼叫上面函數如下:
<script type="text/javascript"> <!-- func(10,20); // This will produce 200 //--> </script>