我有这样的功能
function saveProfile(data, url, successFn) {
$.ajax({
dataType: 'json',
data: data,
url: url,
type: 'post',
success: function () {
successFn();
}
});
}
像这样直接传递successFn有什么区别吗...
function saveProfile(data, url, successFn) {
$.ajax({
dataType: 'json',
data: data,
url: url,
type: 'post',
success: successFn
});
}
最佳答案
不同的是,在第一个例子中,successFn 不会获取回调函数参数。 this
对象也不相同;事实上,如果函数不是对象的成员(在 xyz.successFn()
,this
将是 xyz
)。
第一种方法不那么简洁而且可能更慢;通过“包装”函数,您很可能会使用更多的浏览器内存和 CPU 时间。我不会使用第一种方法,除非您通过代码行付费,或者您需要 this
指向 successFn 所属的对象。
关于javascript - JavaScript 如何处理函数对象?见例子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4061668/