如何使用作为参数传递的函数名称。
示例:
showError('container', 'id', '- message', 'show');
showError('container', 'id', '', 'hide');
function showError(container, id, msg, action)
{
if(action == 'show') {
$('#' + container).show();
$('#' + id).html(msg).show();
}
else {
$('#' + container).hide();
$('#' + id).html(msg).hide();
}
}
最佳答案
obj.foo()
确实是一个两步的事情。 obj.foo
返回一个函数对象,然后 ()
执行它。 obj['foo']
返回相同的函数对象,因此添加一个 ()
来执行它。
因为 obj['foo']
与 obj.foo
相同。即使该属性的值是一个函数。因此,您始终可以使用 []
访问器访问任何属性,并使用字符串作为键名称。
$('#' + container)[action]();
关于javascript - 当 JavaScript 函数的名称作为字符串传递到函数中时,如何执行该函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11764988/