And*_*rey 1 javascript method-call
这是问题 - 我知道函数的名称(并且该函数已经从外部脚本加载),但我没有实际的函数对象可供我调用.通常我会调用eval(function_name +"(arg1,arg2)"),但在我的情况下,我需要传递一个对象,而不是字符串.简单的例子:
var div = document.getElementById('myDiv')
var func = "function_name" -- this function expects a DOM element passed, not id
Run Code Online (Sandbox Code Playgroud)
我该如何执行这个功能?
谢谢!安德烈
永远不要使用eval,它是邪恶的(只看到一个字母差异)你可以简单地做:
var div = document.getElementById('myDiv');
var result = window[function_name](div);
Run Code Online (Sandbox Code Playgroud)
这是可能的,因为函数是javascript中的第一类对象,因此您可以使用任何其他变量来访问它们.请注意,这也适用于需要字符串或任何参数的函数:
var result = window[another_function_name]("string1", [1, "an array"]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
307 次 |
| 最近记录: |