博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript中substr(),substring(),slice()区别
阅读量:5313 次
发布时间:2019-06-14

本文共 1442 字,大约阅读时间需要 4 分钟。

一,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 worlconsole.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() 会把较小的值作为开始位置,较大的值为结束位置

————————————————
版权声明:本文为CSDN博主「WebFrontEnd_TL」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u013270347/article/details/80751874

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

你可能感兴趣的文章
Sqlserver 数据交互(将数据库A表A中的数据插入到数据库B中的表B)
查看>>
LeetCode 40. Combination Sum II (组合的和之二)
查看>>
LeetCode 163. Missing Ranges (缺失的区间)$
查看>>
34.Linux-printk分析、使用__FILE__, __FUNCTION__, __LINE__ 调试
查看>>
明白了最基本的压缩原理
查看>>
UITableViewCell 多选和全选(checkBoxCell)
查看>>
OA办公系统可解组织管理燃眉之急
查看>>
(转) 插入文章时,中文引号转化为英文引号
查看>>
SpringMVC @RequestParam和@RequestBody的区别
查看>>
18.Docker Compose
查看>>
jdk导入证书命令 https升级证书对支付的影响
查看>>
ESP8266无线串口模块介绍
查看>>
bzoj 1221 [HNOI2001] 软件开发 费用流
查看>>
Linux 命令总结(三)-用户与权限
查看>>
深入了解scanf() getchar()和gets()等函数之间的区别
查看>>
.Net多线程、异步及线程同步总结(一):基础篇
查看>>
面试题:平衡二叉树
查看>>
example
查看>>
数据结构--线段树--lazy延迟操作
查看>>
Keil的标题“礦ision3" 的改变(转)
查看>>