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检测页面是否缩放的小例子
May 16 Javascript
提升PHP安全:8个必须修改的PHP默认配置
Nov 17 Javascript
JS数组的常见用法实例
Feb 10 Javascript
jquery京东商城双11焦点图多图广告特效代码分享
Sep 06 Javascript
使用Browserify来实现CommonJS的浏览器加载方法
May 14 Javascript
angularjs定时任务的设置与清除示例
Jun 02 Javascript
jQuery实现简单日期格式化功能示例
Sep 19 jQuery
基于JavaScript canvas绘制贝塞尔曲线
Dec 25 Javascript
微信小程序中如何使用flyio封装网络请求
Jul 03 Javascript
vue-model实现简易计算器
Aug 17 Javascript
Javascript call及apply应用场景及实例
Aug 26 Javascript
JavaScript实现点击出现子菜单效果
Feb 08 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中的类型提示(type hinting)功能介绍
2015/07/01 PHP
PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别
2016/01/27 PHP
dojo 之基础篇(二)之从服务器读取数据
2007/03/24 Javascript
javascript 进阶篇1 正则表达式,cookie管理,userData
2012/03/14 Javascript
jquery制作select列表双向选择示例代码
2014/09/02 Javascript
js实现鼠标悬浮给图片加边框的方法
2015/01/30 Javascript
javascript编写实用的省市选择器
2015/02/12 Javascript
JavaScript 模块化编程(笔记)
2015/04/08 Javascript
js面向对象之公有、私有、静态属性和方法详解
2015/04/17 Javascript
jQuery+Ajax+PHP+Mysql实现分页显示数据实例讲解
2015/09/27 Javascript
图解JavaScript中的this关键字
2020/05/28 Javascript
jQuery Validation Plugin验证插件手动验证
2016/01/26 Javascript
基于jQuery实现Ajax验证用户名是否存在实例
2016/03/30 Javascript
js实现对table的增加行和删除行的操作方法
2016/10/13 Javascript
vue.js开发环境搭建教程
2017/05/04 Javascript
JavaScript实现的简单加密解密操作示例
2018/06/01 Javascript
如何把vuejs打包出来的文件整合到springboot里
2018/07/26 Javascript
动态内存分配导致影响Javascript性能的问题
2018/12/18 Javascript
解决axios post 后端无法接收数据的问题
2019/10/29 Javascript
Vue数字输入框组件使用方法详解
2020/02/10 Javascript
vue实现虚拟列表功能的代码
2020/07/28 Javascript
使用eslint和githooks统一前端风格的技巧
2020/07/29 Javascript
解决vue+webpack项目接口跨域出现的问题
2020/08/10 Javascript
JavaScript如何操作css
2020/10/24 Javascript
JavaScript canvas实现雨滴特效
2021/01/10 Javascript
python计算文本文件行数的方法
2015/07/06 Python
pyQt5实时刷新界面的示例
2019/06/25 Python
Django框架 查询Extra功能实现解析
2019/09/04 Python
Python第三方包之DingDingBot钉钉机器人
2020/04/09 Python
基于python实现音乐播放器代码实例
2020/07/01 Python
阿联酋最好的手机、电子产品和家用电器网上商店:Eros Digital Home
2020/08/09 全球购物
毕业生找工作推荐信
2013/11/21 职场文书
大学学雷锋活动总结
2014/06/26 职场文书
个人整改措施书面材料
2014/10/24 职场文书
护理工作心得体会
2016/01/22 职场文书
python多线程方法详解
2022/01/18 Python