Javascript调用函数或内联代码?

时间:2012-02-22 04:24:40

标签: javascript jquery performance

我有一种奇怪的经历。 关于ajax调用的成功,我在DOM上进行了大量的计算和处理,一切都尽可能顺利。 接下来,我将成功编写的整个代码移动到一个单独的javascript函数中,该函数又在ajax的成功部分上调用。 现在我看到执行该功能时滞后1-2秒。内联代码是否可能比函数调用更快?

修改 示例代码:

$.ajax({
        url: '/apps/project/controller/load_data',
        method: 'get',
        dataType: "json",
        data: {},
        success: function(data) {
            //Parse JSON (Huge Data) and insert into DOM
}});

我做的第二种方法

$.ajax({
        url: '/apps/project/controller/load_data',
        method: 'get',
        dataType: "json",
        data: {},
        success: function(data) {
            populate_timeline(data)
}});

function populate_timeline(json){
//Parse JSON (Huge Data) and insert into DOM
}

1 个答案:

答案 0 :(得分:2)

一个建议是不要通过使用匿名传递来解决您的问题。你应该只能做success: populate_timeline,因为函数是JavaScript中的第一顺序对象。您可能必须确保在ajax中引用populate_timeline之前声明{{1}},我不知道您的所有代码是如何布局或调用的。

我最近在优化脚本,发现单个函数调用的内联对性能的影响非常小。这是执行一些画布动画的代码,其setInterval时间非常短,因此函数调用每秒进行多次。

你有没有回过头来确保将之前的内嵌代码移动到自己的功能是唯一你做过的事情?不考虑它就很容易做出其他改变。此外,如果您在本地计算机上运行此代码以进行开发,请确保它不仅仅是ajax调用较慢而不是函数调用。也许你现在有一些其他CPU重载进程没有运行,并且正在减慢ajax响应?