JavaScript中substr(),substring(),slice()区别

本文详细比较了JavaScript中三种常用的字符串截取方法:substr(), substring()和slice()。通过具体示例,展示了不同方法在处理正数和负数参数时的行为差异,以及它们在实际应用中的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,substr()

var testStr = “Hello world!”;
console.log(testStr.substr(3,4)); //lo w;
console.log(testStr.substr(3)); //lo world!;
console.log(testStr.substr(3,10)); //lo world!;
console.log(testStr.substr(-1)); //!;
console.log(testStr.substr(-1,3)); //!;

二,substring()

var testStr = “Hello world!”;
console.log(testStr.substring(3,4)); //l;
console.log(testStr.substring(4,1)); //ell;
console.log(testStr.substring(3)); //lo world!;
console.log(testStr.substring(3,10)); //lo worl;
console.log(testStr.substring(-1)); //Hello world!
console.log(testStr.substring(-1,3)); //Hel;

注意

console.log(testStr.substring(3,-1)); //Hel;

三,slice()

var testStr = “Hello world!”;
console.log(testStr.slice(3,4)); //l;
console.log(testStr.slice(4,1)); //空字符;
console.log(testStr.slice(3)); //lo world!;
console.log(testStr.slice(3,10)); //lo worl
console.log(testStr.slice(-1)); //!;
console.log(testStr.slice(-3)); //ld!;
console.log(testStr.slice(-1,3)); //空字符;

总结
slice(index,index) substr(index,length),subtring(index,index)
只指定一个参数(正整数)时,返回的结果都一样

传递负值参数时,slice() 会将传入的负值和字符串的长度相加;

        substr() 会将参数的第一个参数加上字符串的长度,将第二个负值参数转换成0;

        substring() 会将所有的负值转换成0

 

后面这个应该很少人注意

var num = "2345678";
alert( num.substring(4,-2));  //2345

substring() 会把较小的值作为开始位置,较大的值为结束位置
————————————————
版权声明:本文为优快云博主「WebFrontEnd_TL」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/u013270347/article/details/80751874

转载于:https://www.cnblogs.com/yungiu/p/11491195.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值