String.prototype.slice() 是js字符串的切片工具方法, 用于对字符串做'裁剪'操作, 不改变原字符串.

'helloworld'.slice(0,5); // 'hello'; 
'helloworld'.slice(5); // 'world'; 默认到结尾 
'helloworld'.slice(-5); // 'world'; 10-5 = 5; 
// 第一个参数大于第二个参数是返回空字符. 
'helloworld'.slice(5,1); // '' 
'helloworld'.slice(-1,-5); // ''
 

substring() 和 slice() 都是可以从原字符串里面切出一部分, 只是substring()有点小特点.

1. 第一个参数大于第二个参数时, 会自动将两者调换位置;

2. 负数会自动转换为0;

以上两条会得到下面的效果:

'JavaScript'.substring(4, -3); // 'Java'

原理是: (4, 0) => (0, 4) => 'Java'

 

注意, 如果两个参数相同, 则为返回空字符串;

'javascript'.slice(2,2); // '' 
'javascript'.subsring(2,2); // ''

 

String.prototype.substr() 介于 String.prototype.slice() 和 String.prototype.substring() 之间, 它会将 负数下标 转换为0, 第一个参数比第二个大时不会调换位置.

 

 

 

评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!