Javascript调用函数或内联代码

Javascript call a function or inline code?

本文关键字:代码 调用 函数 Javascript      更新时间:2023-09-26

我有一个奇怪的经历。在 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
}

一个建议是不要通过使用匿名传递来加剧您的问题。 你应该能够简单地做success: populate_timeline因为函数是JavaScript中的一阶对象。 您可能必须确保在 ajax 中引用之前声明populate_timeline,我不知道您的所有代码是如何布局或调用的。

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

您是否回过头来确保将以前内联的代码移动到其自己的函数是您唯一做的事情? 无需考虑即可轻松进行其他更改。 此外,如果出于开发目的在本地计算机上运行此代码,请确保它不仅仅是 ajax 调用变慢而不是函数调用。 也许您现在正在运行其他一些 CPU 密集型进程,这些进程之前没有运行并且正在减慢 ajax 响应?