javascript regexp.compile()如何工作?

时间:2012-03-29 11:59:14

标签: javascript regex compilation

  

可能重复:
  Javascript: what's the point of RegExp.compile()?

Javascript被认为是一种解释型语言,然后编译方法实际上如何适用于正则表达式。是真的编译模式还是只是滥用符号。

1 个答案:

答案 0 :(得分:0)

Javascript确实是一种解释型语言,但所有浏览器都以不同的方式处理Javascript。 例如,Google Chrome在首次执行时编写JS代码非常有用;基础V8引擎translates JS into machine code可以提高Gmail等巨大网络应用程序的性能。

因此,Chrome会编译所有JS代码,而不仅仅是正则表达式,也许可以说这是滥用符号。

Mozilla文档说Firefox uses compilation正则表达式,但是再一次,SpiderMonkey / TraceMonkey是一个生成字节码的JIT编译器。

我没有找到有关Internet Explorer如何处理事情的信息,我假设了一切,取决于版本号。

真正有趣的问题是:你为什么需要这条信息?如果您想优化您的Javascript代码,我建议您在要支持的所有浏览器中对不同的方法进行基准测试,并最终使用性能最佳的浏览器。除了试图理解内部浏览器功能之外,这应该会让你更进一步。无论如何,这些功能因版本而异。