new Function與eval可以動態執行JS,只要把拼接好的JS方法,然后以字符串的形式傳入到這兩個函數,可以執行,其中new Function用在模板引擎比較多。
用 Function 類直接創建函數的語法如下:
var function_name = new function(arg1, arg2, ..., argN, function_body)
在上面的形式中,每個 arg 都是一個參數,最后一個參數是函數主體(要執行的代碼)。這些參數必須是字符串。
比如:
function callAnotherFunc(fnFunction, vArgument) { fnFunction(vArgument); } var doAdd = new Function("iNum", "alert(iNum + 10)"); callAnotherFunc(doAdd, 10); //輸出 "20"
參考:
http://www.jb51.net/article/35642.htm
http://www.w3school.com.cn/js/pro_js_functions_function_object.asp