哪一个是更好的使用方法:variable.split(“_”);或variable.split(/ _ /);?

时间:2011-07-19 02:09:14

标签: javascript

哪一个在引号和斜杠之间更好,不仅在split方法中,而且在其他方​​法中搜索变量中的字符串?

5 个答案:

答案 0 :(得分:5)

variable.split("_");

最适合单个字符搜索,因为它会避免创建一个RegEx。

答案 1 :(得分:4)

第一个是分割String,第二个是分割RegExp

在这种情况下,它们是functionality equivalent。我会使用String,因为RegExp是不必要的。

我会尽我所能使用String,并在情况需要时使用RegExp

答案 2 :(得分:3)

可能要对它进行基准测试,但我认为字符串方法更快......它们通常都是。

答案 3 :(得分:2)

jsperf test

正如您所见,split(' ')更快

答案 4 :(得分:1)

有一个很好的理由在任何可能的地方都喜欢使用字符串,这就是使用正则表达式在IE中打破split()。请参阅JavaScript regex大师Steven Levithan关于此的博文:http://blog.stevenlevithan.com/archives/cross-browser-split

因此,以下内容适用于所有浏览器:

"1__2".split("_"); // returns ["1", "", "2"]

...而以下内容会返回不一致的结果:

"1__2".split(/_/); // ["1", "2"] in IE, ["1", "", "2"] in others