Javascript中的调用动态函数
我的代码:Javascript中的调用动态函数,javascript,Javascript,我的代码: var MyObj = { myFnc = function(a, b) { console.log('A: '+a+', B: '+b); } } var list = new Array('myFnc', new Array('var1', 'var2')); MyObj[list[0]].call(list[1]); 但是不起作用,有人可以帮我吗?您需要使用.apply而不是.call并为apply函数提供上下文: var MyObj = {
var MyObj = {
myFnc = function(a, b) {
console.log('A: '+a+', B: '+b);
}
}
var list = new Array('myFnc', new Array('var1', 'var2'));
MyObj[list[0]].call(list[1]);
但是不起作用,有人可以帮我吗?您需要使用.apply而不是.call并为apply函数提供上下文:
var MyObj = {
myFnc : function(a, b) {
console.log('A: '+a+', B: '+b);
}
};
var list = new Array('myFnc', new Array('var1', 'var2'));
MyObj[list[0]].apply(window, list[1]);
.apply调用函数并使用指定的数组作为参数
此外,在定义myFnc时,请使用冒号而不是等号。我想您应该使用。不要忘了第一个参数,它是这个上下文中的第一个参数
您希望代码做什么?您是否在控制台中看到错误?始终检查错误控制台。构造对象时出现语法错误。分配函数时,您需要的是:,而不是=。有什么不起作用?这是一个错误吗?错误是什么?
var MyObj = {
myFnc: function(a, b) {
console.log('A: '+a+', B: '+b);
};
}
var list = ['myFnc', ['var1', 'var2']];
MyObj[list[0]].apply(MyObj, list[1]);