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

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

首先,他们都接收两个参数,slice和substring接收的是起始位置和结束位置(不包括结束位置),而substr接收的则是起始位置和所要返回的字符串长度。直接看下面例子:

1 var test = ' hello world ' ;
2
3 alert(test.slice( 4 , 7 )); // o w
4   alert(test.substring( 4 , 7 )); // o w
5   alert(test.substr( 4 , 7 )); // o world

这里有个需要注意的地方就是:substring是以两个参数中较小一个作为起始位置,较大的参数作为结束位置。

如:

 

alert(test.substring(7,4));         
//o w

接着,当接收的参数是负数时,slice会将它字符串的长度与对应的负数相加,结果作为参数;substr则仅仅是将第一个参数与字符串长度相加后的结果作为第一个参数;substring则干脆将负参数都直接转换为0。测试代码如下:

 

1 var test = ' hello world ' ;
2
3 alert(test.slice( - 3 )); //rld
4 alert(test.substring( - 3 )); //hello world
5 alert(test.substr( - 3 )); //rld
6 alert(test.slice( 3 , - 4 )); //lo w
7 alert(test.substring( 3 , - 4 )); //hel
8 alert(test.substr( 3 , - 4 )); //空字符串

 

 

1 注意:IE对substr接收负值的处理有错,它会返回原始字符串。

 

最后,没了。

转载于:https://www.cnblogs.com/chris-oil/archive/2013/02/28/2936277.html

你可能感兴趣的文章
桥接模式
查看>>
设置导航栏标题的文字属性
查看>>
纯银:优秀的人才,没一个开口就问“贵司薪水几何”(转)
查看>>
LoadTestAgentResultsLateException in VS2010
查看>>
开源一个基于nio的java网络程序
查看>>
在Hibernate中使用HibernateTemplate来进行包含sql语句的查询
查看>>
sqlite3经常使用命令&语法
查看>>
Java Collection 简介
查看>>
一个非常不错的背景纹理图的网站
查看>>
WinStore之Application Data
查看>>
word 批量修改表格格式
查看>>
解剖SQLSERVER 第六篇 对OrcaMDF的系统测试里避免regressions(译)
查看>>
memcpy内存拷贝及优化策略图解
查看>>
SQL Server 数据的创建、增长、收缩
查看>>
合并数据
查看>>
RAM,ROM,NAND Flash,NOR Flash(A)
查看>>
安卓启动相关以及架构设计相关
查看>>
centos中添加php扩展pdo_mysql步骤
查看>>
JBOSS 中oracle-ds.xml的配置模板
查看>>
C语言理论知识
查看>>