有什么区别以及何时使用什么?如果我总是使用ToLower()会有什么风险,如果我总是使用ToLowerInvariant(),风险又是什么?
我正在进行代码审查,我很好奇,如果在尝试比较它们时忽略大小写,那么在JavaScript中将字符串转换为大写或小写更好.
琐碎的例子:
var firstString = "I might be A different CASE";
var secondString = "i might be a different case";
var areStringsEqual = firstString.toLowerCase() === secondString.toLowerCase();
Run Code Online (Sandbox Code Playgroud)
或者我应该这样做:
var firstString = "I might be A different CASE";
var secondString = "i might be a different case";
var areStringsEqual = firstString.toUpperCase() === secondString.toUpperCase();
Run Code Online (Sandbox Code Playgroud)
它似乎"应该"或者只能使用有限的字符集,只有英文字母,所以它比另一个更健壮吗?
作为一个注释,MSDN建议将字符串规范化为大写,但这适用于托管代码(可能是C#和F#,但它们有奇特的StringComparers和基础库):http://msdn.microsoft.com/en-us/library/bb386042. ASPX