javascript - JavaScript 如何处理函数对象?见例子

标签 javascript jquery

我有这样的功能

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/

相关文章:

javascript - ipad Javascript slider

javascript - 尚未为模型注册架构

javascript - 使整个父 div 成为可点击区域

javascript - 为什么 javascript getMonth 从 0 开始计数,而 getDate 从 1 开始计数?

javascript - 当另一个 TextBox 值更改时如何设置 TextBox 值

jquery - 自定义上传按钮作为图片预览

javascript - Google Timeline - 根据名称更改数据颜色

javascript - 使用正则表达式解析 bool 算术,包括括号?

javascript - 如何操作 jQuery 克隆来删除属性

javascript - Drupal 8 的 Jquery .once() 问题