小编Jos*_*eph的帖子

高性能JavaScript中的对象池?

我正在编写一些需要快速运行的javascript代码,并使用了许多短期对象.我最好使用对象池,还是仅仅根据需要创建对象?

我写了一个JSPerf测试,它表明使用对象池没有任何好处,但是我不确定jsperf基准测试是否运行得足够长,以便浏览器的垃圾收集器能够启动.

代码是游戏的一部分,所以我不关心传统的浏览器支持.无论如何,我的图形引擎无法在旧浏览器上运行.

javascript performance

42
推荐指数
2
解决办法
1万
查看次数

javascript回调中错误参数的更正确位置是什么?

我正在编写一个需要回调的javascript函数.如果出现问题,回调将传递一个错误参数.

什么是最好/最标准的呼叫约定?

  • 回调的错误参数应该是第一个还是最后一个?
  • 我应该传递一个'errorMsg'字符串还是一个new Error('errorMsg')对象?

即,更正确的是 - 这段代码:

foo = function(bar, callback) {
  ...
  if (error) {
    callback('troz not found');
  } else {
    callback(null, result);
  }
}
Run Code Online (Sandbox Code Playgroud)

或者这段代码:

foo = function(bar, callback) {
  ...
  if (error) {
    callback(null, 'troz not found');
  } else {
    callback(result);
  }
}
Run Code Online (Sandbox Code Playgroud)

或这个:

foo = function(bar, callback) {
  ...
  if (error) {
    callback(null, new Error('troz not found'));
  } else {
    callback(result);
  }
}
Run Code Online (Sandbox Code Playgroud)

如果相关,我的代码将用作NodeJS模块和基于浏览器的JavaScript库.

javascript browser coding-style node.js

7
推荐指数
2
解决办法
1263
查看次数

有没有可以在Javascript中有效编辑大字符串的库?

我需要在javascript中有效地编辑大型文本文档(例如,源代码文件).

insertAtPosition(n, str)而且deleteAtPosition(n, length)必须快.

天真的字符串实现很慢,因为每个操作都需要将文档的内容复制到新的字符串.

有几种有效的方法可以做到这一点.我可以用线的阵列(王牌又名贝斯平做到这一点),但是当有超长线或许多短行,这将是缓慢的.更好的实现将使用跳过列表或一些其他聪明的数据结构.

但是,我希望有人已经实现了这样的事情.

有没有图书馆已经这样做了?我似乎无法找到任何与谷歌有用的东西 - 这个算法问题有一个共同的名称吗?

javascript algorithm text

5
推荐指数
1
解决办法
122
查看次数