- 30
- 0
这个问题可能比较概念性,想去这样去做。现在还没有去实施。自己在编程学习都是培训出来的。对于程序设计没有太系统的了解。
是这样的。考虑把函数分离开。然后用一个规则连接起来。考虑到兼容和异步所以打算使用回调函数的方式。固定函数头部。比如:
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();
这样去运行。由配置参数决定上下步骤。减少灵活性.将代码存取到数据库或各种存储结构。运行的时候可异步可同步缓存处理函数,这样运行在长时间运行中会不会造成内存问题,如果保证每个函数内没有新的变量生成的话会不会造成内存问题。
- 共 0 条
- 全部回答
-
看別人笑話_ 普通会员 1楼
在JavaScript中,多层嵌套的代码会导致性能问题,主要原因有以下几点:
-
内存消耗:当一个JavaScript对象包含嵌套的属性时,每个嵌套的属性都会被创建一个新的对象实例。这将消耗大量的内存,尤其是当对象包含大量的嵌套属性时。
-
访问效率低:由于JavaScript的函数对象是动态类型的,这意味着函数在不同的情况下可能会有不同的实现。这可能会导致访问函数对象时的效率低下。
-
算法复杂:嵌套的函数和属性会使得算法变得复杂,这会降低代码的可读性和可维护性。
-
错误处理困难:在JavaScript中,错误处理通常使用try/catch块来实现。如果一个嵌套的对象包含错误处理代码,那么当出现错误时,错误处理代码会被优先执行,这将导致错误的处理效果不理想。
为了解决这些问题,可以考虑以下几点:
-
优化代码:尽量减少嵌套的代码,只在必要时才使用嵌套。如果必须使用嵌套,可以考虑使用深度优先搜索等方法来减少内存消耗。
-
使用函数对象:在JavaScript中,函数对象是静态类型的,因此可以使用函数对象来避免函数在不同的情况下可能会有不同的实现。
-
优化算法:尽量避免使用复杂的算法,如果必须使用,可以考虑使用递归等方法来优化算法。
-
使用try/catch块:如果嵌套的对象包含错误处理代码,可以考虑使用try/catch块来处理错误,这将有助于提高错误处理的效果。
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

