_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