为什么使用函数声明不能正常工作,但使用函数表达式却可以正常工作?假设唯一的区别是浏览器如何将它们加载到执行上下文中。
function foo(event){
console.log('in foo');
}
$('.btn').on('click',foo(event));
$.ajax({
beforeSend:function(){
$('btn').unbind('click');
},
success: function(){
$('btn').bind('click', foo(event));
}
});
使用函数表达式效果很好:
var foo = function(event){
console.log('in foo');
}