JavaScript中String常用方法总结

length属性

var str = "hello";
alert(str.length); //5

常用字符方法

charAt方法

该方法接受一个索引作为参数,返回在该位置的字符。

var str = 'hello';
alert(str.charAt(0)); //h

注意:支持ES5的浏览器中同样可以使用方括号来进行字符访问。
如:str[0]。

charCodeAt方法

该方法接受一个索引作为参数,返回指定位置的字符的编码。

常用操作方法

常用的操作方法包括concat,substr,substring,slice。这些对字符串的操作方法不会改变字符串本身,而是会返回一个子串

concat方法

此方法的主要作用是进行字符串的拼接,由于使用+可以更方便的进行字符串拼接,因此这种方法的使用频率并不高。

var str1 = 'hello ';
var str2 = 'world';
var str3 = '!';
alert(str1.concat(str2,str3)); //hello world!
alert(str1+str2+str3);  //hello world!

注意:concat可以接收任意多的参数。

slice方法

slice方法接收两个参数,而第二个参数是可选的。

slice(start,[end])

返回的字符串不包括end处的字符。

如果不指定end,默认到字符串尾部(并不是end到尾部,而是输出到尾部,相当于end到尾部位置的后一位)。

var str1 = 'hello';
alert(str1.slice(0,1)); //h
alert(str1.slice(0)); //hello

substring方法

乍一看substring方法似乎和slice方法没有什么区别,因为substring也是接收两个参数start和可选的end,返回的字符串也不包含end,当省略end时返回的字符串也是直到尾部。

将上例中的slice换为substring可得一样的结果。

其实它们在细节上还是有不小的差异的。

slice和substring的区别

当参数含有负数时

假设为这两个方法传入了负数,它们有不同的处理方式。

对于slice方法,它将负参数变为(负参数+length)。

注意:如果将负参数加上一次length后依然为负数,将不返回任何字符串。

而对于substring方法,它将负参数直接变为0。

var str1 = 'hello';
alert(str1.slice(0,-4));    //h
alert(str1.slice(0,-7));    //负数太小,输出为空
alert(str1.substring(-1,1)); //h

当传入的两个参数由大到小时

正常传入的参数都是由小到大,但是当传入start>end的参数时,两者也有不同的表现。

var str = 'hello';
alert(str.slice(2,1));  //为空
alert(str.substring(2,1)); //e

可见,slice方法直接输出空,而substring方法则反转两个参数正常输出。

substr方法

substr方法的使用不同于上述两种方法,它的第二个参数不是[end],而是[length],表示返回的字符串的长度。当省略第二个参数时,同样返回一个直至字符串尾的子字符串。

当传入substr的第一个参数start为一个绝对值小于length的负数时,将其与length相加再进行截取,而当传入的第一个参数特别小时(绝对值大于length),默认第一个参数为0。当传入的第二个参数不为正数时,直接返回空。(这一段是我在chrome中的测试,其实个人觉得这个没有什么意义。)

大小写转换方法

toLowercase:全部变为小写。
toUppercase:全部变为大写。

trim方法

该方法用于去除字符串左面及右面多余的空字符。

方法返回一个字符串的副本。

var str = '  he l lo ';
alert(str.trim()); //'he l lo'
alert(str);//'  he l lo '

字符串的模式匹配方法

包括match,search,replace,split。这些方法的使用都与正则表达式有关,这里先不谈,将在其它文章中专门总结。

localeCompare方法

该方法用于字符串的比较:

str1.localeCompare(str2);
/**
 *若str1>str2,返回正数;
 *若str1<str2,返回负数;
 *若str1=str2,返回0.
 */

fromCharCode方法

这个方法可以用来生成一个String,参数为一个或多个字符编码。

alert(String.fromCharCode(104,101,108,108,111);//hello
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值