js多层嵌套的性能问题。

这个问题可能比较概念性,想去这样去做。现在还没有去实施。自己在编程学习都是培训出来的。对于程序设计没有太系统的了解。

是这样的。考虑把函数分离开。然后用一个规则连接起来。考虑到兼容和异步所以打算使用回调函数的方式。固定函数头部。比如:

var relation = {
    d1: ['d2','d3'],
    d2: ['d4'],
    d3: ['d5'],
    d4: ['d6'],
    ....
}
var next = function(name, params) {
    var next_steps = relation[name],
        i = 0,
        len = next_steps.length;
    for (; i < len; i++) {
        cache[next_steps[i]](params);
    }
}
var cache = {
    d1: function() {
        // do some things
        next(arguments.caller.name);
    },
    d2: function() {
        // do some things
        next(arguments.caller.name);
    },
    d3: function() {
        // do some things
        next(arguments.caller.name);
    },
    d4: function() {
        // do some things
        next(arguments.caller.name);
    }
    ....
};
for (var key in cache) {
    cache[key].name = key;
}
cache.d1();

这样去运行。由配置参数决定上下步骤。减少灵活性.将代码存取到数据库或各种存储结构。运行的时候可异步可同步缓存处理函数,这样运行在长时间运行中会不会造成内存问题,如果保证每个函数内没有新的变量生成的话会不会造成内存问题。

阅读 2.9k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题