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 相关文章推荐
JS动态调用方法名示例介绍
Dec 18 Javascript
js数字转换为float,取N位小数
Feb 08 Javascript
php,js,css字符串截取的办法集锦
Sep 26 Javascript
Javascript基础知识(二)事件
Sep 29 Javascript
jQuery动态添加与删除tr行实例代码
Oct 18 Javascript
JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】
Jan 23 Javascript
jQuery+CSS3实现点赞功能
Mar 13 Javascript
vue实现登陆登出的实现示例
Sep 15 Javascript
详解使用Typescript开发node.js项目(简单的环境配置)
Oct 09 Javascript
Vue中computed、methods与watch的区别总结
Apr 10 Javascript
原生JS实现微信通讯录
Jun 18 Javascript
vue移动端弹起蒙层滑动禁止底部滑动操作
Jul 22 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
ThinkPHP独立分组使用的注意事项
2014/11/25 PHP
PHP strip_tags() 去字符串中的 HTML、XML 以及 PHP 标签的函数
2016/05/22 PHP
PHP工厂模式简单实现方法示例
2018/05/23 PHP
浅析php如何实现爬取数据原理
2018/09/27 PHP
推荐17个优美新鲜的jQuery的工具提示插件
2012/09/14 Javascript
Javascript中 关于prototype属性实现继承的原理图
2013/04/16 Javascript
A标签中通过href和onclick传递的this对象实现思路
2013/04/19 Javascript
基于jquery实现的图片在各种分辨率下未知的容器内上下左右居中
2014/05/11 Javascript
jQuery DOM插入节点操作指南
2015/03/03 Javascript
javascript绘制漂亮的心型线效果完整实例
2016/02/02 Javascript
javaScript给元素添加多个class的简单实现
2016/07/20 Javascript
JavaScript实现刷新不重记的倒计时
2016/08/10 Javascript
vue.js学习笔记之绑定style样式和class列表
2016/10/31 Javascript
微信小程序实现动态显示和隐藏某个控件功能示例
2018/12/14 Javascript
如何将百度地图包装成Vue的组件的方法步骤
2019/02/12 Javascript
js图数据结构处理 迪杰斯特拉算法代码实例
2019/09/11 Javascript
vue使用swiper实现左右滑动切换图片
2020/10/16 Javascript
[01:08:00]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
通过Python使用saltstack生成服务器资产清单
2016/03/01 Python
Python实现小数转化为百分数的格式化输出方法示例
2017/09/20 Python
Linux系统(CentOS)下python2.7.10安装
2018/09/26 Python
解决项目pycharm能运行,在终端却无法运行的问题
2019/01/19 Python
python实现抠图给证件照换背景源码
2019/08/20 Python
python对验证码降噪的实现示例代码
2019/11/12 Python
如何使用selenium和requests组合实现登录页面
2020/02/03 Python
python利用opencv实现SIFT特征提取与匹配
2020/03/05 Python
jupyter 使用Pillow包显示图像时inline显示方式
2020/04/24 Python
html5本地存储_动力节点Java学院整理
2017/07/12 HTML / CSS
澳大利亚在线时尚精品店:Hello Molly
2018/02/26 全球购物
澳大利亚最大的护发和护肤品购物网站:RY
2019/12/26 全球购物
护理专业个人求职简历的自我评价
2013/10/13 职场文书
司法局火灾防控方案
2014/06/05 职场文书
求职简历自荐信
2014/06/18 职场文书
党性观念心得体会
2014/09/03 职场文书
环保建议书作文400字
2015/09/14 职场文书
PyMongo 查询数据的实现
2021/06/28 Python