我知道PHP有call_user_func,我只是想知道JavaScript是否有类似的东西,我要调用的方法是,例如:object.set$fieldID($fieldValue)
我宁愿不通过if/else/switch块来正确执行一行代码.
如果它有帮助,我使用jQuery.
object["set" + $fieldID]($fieldValue);
Run Code Online (Sandbox Code Playgroud)
一些先进的方法包括Function.prototype.call和Function.prototype.apply.第一个在某种程度上等同于PHP,call_user_func()而后者在某种程度上等同于PHP call_user_func_array().
PHP的函数和JavaScript之间的区别在于JavaScript允许您在另一个对象的上下文中调用某个对象的方法.这是通过使用的第一个参数做call()和apply().
以上示例的等效项,但使用call()和apply()看起来像这样:
object["set" + $fieldID].call(object, $fieldValue);
object["set" + $fieldID].apply(object, [$fieldValue]);
Run Code Online (Sandbox Code Playgroud)
第一个参数必须是object否则在浏览器的情况下,将使用this绑定到全局对象的指针执行该方法window.