博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字符串的slice、substr、substring方法的异同
阅读量:6301 次
发布时间:2019-06-22

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

hot3.png

相同点:

  • 都不会改变原始字符串
  • 第一个参数都是指定字符串的开始位置
  • 第二个参数不传则将字符串的尾部作为结束位置

不同点

  • slice(startIndex,endIndex) 第一个参数指定字符串的开始位置,第二个参数指定字符串的结束位置
  • substring(index0,index1)会将小的参数作为开始位置,大的作为结束位置
  • substr(startIndex, num),第一个参数指定字符串的开始位置,第二个参数要返回的字符个数
  • slice参数为负值时,会将负值与字符串的长度相加得到开始和结束位置
  • substring参数为负值时,会将所有的负值参数转换成0
  • substr方法将负的第一个参数加上字符串的长度得到开始位置,将负的第二个参数转换为0
  • tip 包前不包后

见例子:

var str = 'hello world';console.log(str.slice(3)); // lo worldconsole.log(str.substring(3)); // lo worldconsole.log(str.substr(3)); // lo worldconsole.log(str.slice(3,7)) // lo wconsole.log(str.substring(3,7)) // lo wconsole.log(str.substr(3,7)) // lo worlconsole.log(str.slice(-3)) // rldconsole.log(str.substring(-3)) // hello worldconsole.log(str.substr(-3)) // rldconsole.log(str.slice(3, -4)) // lo wconsole.log(str.substring(3,-4)) // hel  等同于 str.substring(3,0)); str.substring(0,3))console.log(str.substr(3, -4)) // ''为空字符

转载于:https://my.oschina.net/u/3407699/blog/2996683

你可能感兴趣的文章
搭建LAMP架构
查看>>
神经网络注意力机制--Attention in Neural Networks
查看>>
Spring.Net+WCF实现分布式事务
查看>>
在Linux上高效开发的7个建议
查看>>
java数据结构 - 数组使用的代码
查看>>
个人简历-项目经验
查看>>
swoole异步任务task处理慢请求简单实例
查看>>
DHCP
查看>>
oracle数据泵导入分区表统计信息报错(四)
查看>>
spring技术内幕读书笔记之IoC容器的学习
查看>>
细说多线程(五) —— CLR线程池的I/O线程
查看>>
JavaScript instanceof和typeof的区别
查看>>
Hadoop文件系统详解-----(一)
查看>>
《面向模式的软件体系结构2-用于并发和网络化对象模式》读书笔记(8)--- 主动器...
查看>>
状态码
查看>>
我的友情链接
查看>>
用sqlplus远程连接oracle命令
查看>>
Mysql PARTITION 数据表分区技术
查看>>
iOS下使用SoundTouch实现变声并转为wav格式进行播放(山寨汤姆猫完整版)
查看>>
多年一直想完善的自由行政审批流程组件【2002年PHP,2008年.NET,2010年完善数据设计、代码实现】...
查看>>