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>