【发布时间】:2013-09-06 10:38:06
【问题描述】:
我想比较 JavaScript 中的两个字符串,以测试它们是否完全相同。 哪种方法是最好(最快)的?
现在,我正在考虑中的任何一个
if(string1.localeCompare(string2) == 0) {}
或者干脆
if(string1 == string2)
有没有更好的方法来做到这一点?
【问题讨论】:
标签: javascript string-matching
我想比较 JavaScript 中的两个字符串,以测试它们是否完全相同。 哪种方法是最好(最快)的?
现在,我正在考虑中的任何一个
if(string1.localeCompare(string2) == 0) {}
或者干脆
if(string1 == string2)
有没有更好的方法来做到这一点?
【问题讨论】:
标签: javascript string-matching
如果您想检查它们是否完全相同,我可能会使用strict equality,即它们也是相同的类型,以防万一。
if (string1 === string2)
【讨论】:
检查this fiddle* 并找出自己哪个更快。
*如果链接将来失效:== > === > String.localeCompare(在 Chrome 上测试)。
【讨论】:
== 甚至不满足检查完全匹配的要求,至少在不知情的情况下不满足。
我不确定if(string1 == string2) 是否还有优化空间。这是最好的方法。
【讨论】:
=== 是必不可少的。
if (typeof string1=="string" && typeof string2=="string" && string1 === string2)
没有转义方法:)
【讨论】:
typeof。