_doAction = [{
closepop: function(){
console.log('call');
var parntid = $(this).attr('data-parentid');
$('#'+parntid).hide();
}
}];
当我打电话的方法。为什么arg没有定义?
$(document).on('click', '.xyz', function(){
var action = $(this).attr('data-eventname');
_doAction[0][action].apply(this, args); // when use args getting error (args is undefined). Why?
_doAction[0][action].apply(this, arguments); // when use arguments no error, working fine.
});
有人可以帮我或解释我为什么发生这种情况...
你为什么期望它能与'args'一起工作? – Hacketo 2015-03-13 12:42:20
因为'args'不存在。你已经证明了'arguments'是包含所有传入函数的参数的数组,而不是'args',那么你对此有什么困惑? – forgivenson 2015-03-13 12:44:32
@Hacketo,因为我将(this)对象放入apply中。 – Tamesh 2015-03-13 12:49:33