js substr、substring和slice使用说明小记


Posted in Javascript onSeptember 15, 2011

关于substr、substring和slice方法区别的文章,网上搜到了许多,文章内容也基本一致。而后,我将其中一篇文章中的代码挪到本地进行了测试,发现测试结果和原文中的有些出入。

我更相信自己亲自验证过后的代码,随后小记下来,供以后查阅。

substr

document.write("|" + str.substr(0,5) + "|" + "<br />"); 
document.write("|" + str.substr(0) + "|" + "<br />"); 
document.write("|" + str.substr(5,1) + "|" + "<br />"); 
document.write("|" + str.substr(-5,2) + "|" + "<br />"); 
document.write("|" + str.substr(-2,-5) + "|" + "<br />");

打印效果

|12345|
|123456|
|6|
IE: |12| Chrome: |23|

substring

document.write("|" + str.substring(0,5) + "|" + "<br />"); 
document.write("|" + str.substring(0) + "|" + "<br />"); 
document.write("|" + str.substring(5,1) + "|" + "<br />"); 
document.write("|" + str.substring(-5,2) + "|" + "<br />"); 
document.write("|" + str.substring(-2,-5) + "|" + "<br />"); 
document.write("|" + str.substring(2,-5) + "|" + "<br />");

打印效果
|12345|
|123456|
|2345|
|12|

|12|
slice

document.write("|" + str.slice(0,5) + "|" + "<br />"); 
document.write("|" + str.slice(0) + "|" + "<br />"); 
document.write("|" + str.slice(5,1) + "|" + "<br />"); 
document.write("|" + str.slice(-5,2) + "|" + "<br />"); 
document.write("|" + str.slice(-2,-5) + "|" + "<br />"); 
document.write("|" + str.slice(2,-5) + "|" + "<br />");

打印效果
|12345|
|123456|

|2|

||
如果你预想的结果和打印效果完全一致,那你的基本功一定不赖。如果多少有点犹豫或者结果出乎你的意料,那我的文章多少也有点用处了。

总结

substr

该方法的arg2和其它两个方法的arg2压根就代表不同意义,所以单独揪出来。

当arg1<0时,不同浏览器的结果不同。IE 直接将arg1改成0, Chrome 下标读取方式由原来的从左往右读改成从右往左读

substring和slice

(1)arg2 > arg1,即参数2大于参数1时

substring:自动颠倒位置,数值大的在arg2位置上,数值小的在arg1位置上
slice:返回空字符串

(2)对负数的处理

substring:将数值为负数的参数转换为0
slice:将数值为负数的参数转换为(字符串长度-参数数值)

Javascript 相关文章推荐
javascript面向对象程序设计(一)
Jan 29 Javascript
javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法
May 13 Javascript
JS时间特效最常用的三款
Aug 19 Javascript
20分钟打造属于你的Bootstrap站点
Jul 27 Javascript
Bootstrap的modal拖动效果
Dec 25 Javascript
JavaScript提高加载和执行效率的方法
Feb 03 Javascript
react性能优化达到最大化的方法 immutable.js使用的必要性
Mar 09 Javascript
JS 中使用Promise 实现红绿灯实例代码(demo)
Oct 20 Javascript
完美解决mui框架off-canvas侧滑超出部分隐藏无法滚动的问题
Jan 25 Javascript
vue中rem的配置的方法示例
Aug 30 Javascript
vue仿ios列表左划删除
Sep 26 Javascript
Vue图片浏览组件v-viewer用法分析【支持旋转、缩放、翻转等操作】
Nov 04 Javascript
javascript 闭包
Sep 15 #Javascript
用JQuery模仿淘宝的图片放大镜显示效果
Sep 15 #Javascript
document.getElementById介绍
Sep 13 #Javascript
动态创建样式表在各浏览器中的差异测试代码
Sep 13 #Javascript
contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
Sep 13 #Javascript
jQuery中使用了document和window哪些属性和方法小结
Sep 13 #Javascript
从jQuery.camelCase()学习string.replace() 函数学习
Sep 13 #Javascript
You might like
php防止伪造的数据从URL提交方法
2014/06/27 PHP
php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法
2014/11/04 PHP
PHP简单字符串过滤方法示例
2016/09/04 PHP
php页面跳转session cookie丢失导致不能登录等问题的解决方法
2016/12/12 PHP
PHP实现获取url地址中顶级域名的方法示例
2019/06/05 PHP
JS匀速运动演示示例代码
2013/11/26 Javascript
JS去除字符串两端空格的简单实例
2013/12/27 Javascript
button没写type=button会导致点击时提交
2014/03/06 Javascript
javascript实现模拟时钟的方法
2015/05/13 Javascript
JavaScript中var关键字的使用详解
2015/08/14 Javascript
jQuery实现滚动切换的tab选项卡效果代码
2015/08/26 Javascript
Bootstrap每天必学之按钮
2015/11/26 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
2016/02/26 Javascript
JS简单循环遍历json数组的方法
2016/04/22 Javascript
JS触摸事件、手势事件详解
2017/05/04 Javascript
JS实现下拉菜单列表与登录注册弹窗效果
2017/08/10 Javascript
jQuery实现简单的回到顶部totop功能示例
2017/10/16 jQuery
node.js中 redis 的安装和基本操作示例
2020/02/10 Javascript
[57:55]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第二场 12.12
2020/12/16 DOTA
以Python的Pyspider为例剖析搜索引擎的网络爬虫实现方法
2015/03/30 Python
Python中使用装饰器来优化尾递归的示例
2016/06/18 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
2016/12/27 Python
Python实现屏幕截图的两种方式
2018/02/05 Python
Python实现手机号自动判断男女性别(实例解析)
2019/12/22 Python
Tensorflow轻松实现XOR运算的方式
2020/02/03 Python
python 中的[:-1]和[::-1]的具体使用
2020/02/13 Python
浅谈Html5中视频 音频标签 进度条的问题
2016/07/26 HTML / CSS
世界上最大的餐具公司:Oneida
2016/12/17 全球购物
Falconeri美国官网:由羊绒和羊毛制成的针织服装
2018/04/08 全球购物
世界上最大的隐形眼镜商店:1-800 Contacts
2018/11/03 全球购物
师德师风承诺书
2014/05/23 职场文书
毕业大学生自荐信
2014/06/17 职场文书
工伤事故处理协议书怎么写
2014/10/15 职场文书
民间借贷借条范本
2015/05/25 职场文书
2015年电教工作总结
2015/05/26 职场文书
Java使用httpRequest+Jsoup爬取红蓝球号码
2021/07/02 Java/Android