JavaScript 中一些相似方法的用法确别

1. String类的toLocaleLowerCase()方法和toLowerCase()方法区别

toLocaleLowerCase () 方法   
返回此字符串的一个副本,其中所有大写的字符均转换为小写字符。 原始字符串保持不变。 虽然此方法旨在以特定于区域设置的方式处理转换,但 ActionScript 3.0 实现生成的结果与 toLowerCase() 方法生成的结果相同。 
toLowerCase () 方法   
返回此字符串的一个副本,其中所有大写的字符均转换为小写字符。 原始字符串保持不变。 
此方法转换所有存在 Unicode 小写等效项的字符(不仅仅是 A-Z):
var str:String = " JOSÉ BARÇA";
trace(str.toLowerCase()); // josé barça
意思就是说toLocaleLowerCase在某种情况下是可以替代toLowerCase,有些情况下是替代不了的。但是toLowerCase绝对可以替代toLocaleLowerCase。

2.String类的slice(),substring(),substr()的用法区别

stringObject.slice(start,end);
stringObject.substring(start,stop);
stringObject.substr(start,length);

1)slice()与substring()的用法差不多,两个参数分别表示子字符串的起始位置和终止位置,但不包括终止位置;字符串基数从0开始。
例如:
var sMyString = "0123456789!";
document.write(sMyString.slice(2,8) + "
");
document.write(sMyString.substring(2,8) + "
");
document.write(sMyString + "
");
运行结果是:
234567
234567
0123456789!

2)slice()与substring()的区别是,当第二个参数为负数时:
slice():end = str.length + 负数。
substring():stop = 0; substring(2,-3)等同于substring(2,0)也等同于substring(0,2)。
例如:
var sMyString = "0123456789!";
document.write(sMyString.slice(5,-3) + "
");
document.write(sMyString.substring(2,-3) + "
");
document.write(sMyString.substring(2,0) + "
");
document.write(sMyString.substring(0,2) + "
");
document.write(sMyString + "
");
结果为:
567
01
01
01
0123456789!

3)substr()第二个参数表示子字符串的字符个数
如:
var sMyString = "0123456789!";
document.write(sMyString + "
");
document.write(sMyString.substr(3,5) + "
");
结果为:
0123456789!
34567

参考:

1. http://bbs.9ria.com/thread-156665-1-1.html
2. http://hi.baidu.com/zhujinyu/item/7f92ce13ebcee2011994ec62


你可能感兴趣的:(JavaScript)