javascript中String类的subString()方法和slice()方法


Posted in Javascript onMay 24, 2011

在该书2.8.4节中讲到String类中的subString()方法和slice()方法,其用法和返回结果都基本相同,如下示例:

var strObj = new String("hello world"); 
alert(strObj.slice(3)); // 输出结果:"ol world" 
alert(strObj.subString(3)); 
// 输出结果:"ol world" 
alert(strObj.slice(3, 7)); // 输出结果:"lo w" 
alert(strObj.subString(3,7)); // 输出结果:"lo w"

由以上代码的输出结果可已看出,slice()方法和subString()方调用方法法和输出结果完全一样,这两种方法返回的都是要处理的字符串的子串,都接受一个或两个参数,第一个参数是要获取的子串的起始位置,第二个参数是要获取子串的终止位置,如果第二个参数省略终止位置就默认为字符串的长度,且两个方法都不改变String对象自身的值。

为什么有两个功能完全相同的方法呢?事实上,这两个方法并不完全相同,不过只在参数为负值时,他们处理参数的方式稍有不同。

对于负数参数,slice()方法会用字符串的长度加上参数,subString()方法将其作为0处理,例如:

var strObj = new String("hello world"); 
alert(strObj.slice(-3));

// 输出结果:"rld" 
alert(strObj.subString(-3));
  // 输出结果:"hello world" 
alert(strObj.slice(3,-4));

 // 输出结果:"lo w" 
alert(strObj.subString(3,-4))
 // 输出结果:"hel"

这样既可看到slice()和subString()方法的主要不同。当只有参数-3时,slice()返回"rld",subString()则返回"hello world"。这是因为对于字符串"hello world",slice(-3)将被转换成slice(8),而subString(-3)则转化成subString(0)。同样,使用3和-4差别也是很明显。slice()方法将被转换成slice(3,7),与前面的例子相同,返回"lo w"。而subString()方法则将这个两个参数解释为subString(0,3),实际上是:subString(0,3),因为subString()总是把较小的参数作为起始位,较大的数字最为终止位。
Javascript 相关文章推荐
通过JS来判断页面控件是否获取焦点
Jan 03 Javascript
javascript弹出页面回传值的方法
Jan 28 Javascript
Vue.js 父子组件通讯开发实例
Sep 06 Javascript
jquery获取table指定行和列的数据方法(当前选中行、列)
Nov 07 Javascript
Bootstrap Modal遮罩弹出层代码分享
Nov 21 Javascript
微信小程序 Button 组件详解及简单实例
Jan 10 Javascript
详解Angular 4.x 动态创建组件
Apr 25 Javascript
Angular4.x通过路由守卫进行路由重定向实现根据条件跳转到相应的页面(推荐)
May 10 Javascript
webpack4之SplitChunksPlugin使用指南
Jun 12 Javascript
JavaScript使用表单元素验证表单的示例代码
Aug 20 Javascript
JS面向对象编程实现的Tab选项卡案例详解
Mar 03 Javascript
vue axios封装httpjs,接口公用配置拦截操作
Aug 11 Javascript
js中关于String对象的replace使用详解
May 24 #Javascript
基于jQuery的让非HTML5浏览器支持placeholder属性的代码
May 24 #Javascript
capacityFixed 基于jquery的类似于新浪微博新消息提示的定位框
May 24 #Javascript
基于jquery的从一个页面跳转到另一个页面的指定位置的实现代码(带平滑移动的效果)
May 24 #Javascript
三级下拉菜单的js实现代码
May 23 #Javascript
js与jquery中获取当前鼠标的x、y坐标位置的代码
May 23 #Javascript
在Javascript里访问SharePoint列表数据的实现方法
May 22 #Javascript
You might like
兼容PHP5的PHP目录管理函数库
2008/07/10 PHP
php生成N个不重复的随机数实例
2013/11/12 PHP
windows服务器中检测PHP SSL是否开启以及开启SSL的方法
2014/04/25 PHP
PHP仿微信发红包领红包效果
2016/10/30 PHP
IE与Firefox在JavaScript上的7个不同写法小结
2009/09/14 Javascript
JavaScript高级程序设计 学习笔记 js高级技巧
2011/09/20 Javascript
jQuery结合CSS制作漂亮的select下拉菜单
2015/05/03 Javascript
JavaScript中数据结构与算法(一):栈
2015/06/19 Javascript
javascript常用函数(1)
2015/11/04 Javascript
两行代码轻松搞定JavaScript日期验证
2016/08/03 Javascript
Vue+Flask实现简单的登录验证跳转的示例代码
2018/01/13 Javascript
vue+element实现批量删除功能的示例
2018/02/28 Javascript
微信小程序中使用wxss加载图片并实现动画效果
2018/08/13 Javascript
浅谈Vue数据响应
2018/11/05 Javascript
Vue-Cli 3.0 中配置高德地图的两种方式
2019/06/19 Javascript
微信小程序激励式视频广告组件使用详解
2019/12/06 Javascript
在weex中愉快的使用scss的方法步骤
2020/01/02 Javascript
vue单文件组件无法获取$refs的问题
2020/06/24 Javascript
[49:58]完美世界DOTA2联赛PWL S3 Magma vs DLG 第一场 12.18
2020/12/19 DOTA
Python数据预处理之数据规范化(归一化)示例
2019/01/08 Python
python3实现钉钉消息推送的方法示例
2019/03/14 Python
对Python生成器、装饰器、递归的使用详解
2019/07/19 Python
Django中modelform组件实例用法总结
2020/02/10 Python
Python3基本输入与输出操作实例分析
2020/02/14 Python
python不到50行代码完成了多张excel合并的实现示例
2020/05/28 Python
python3中确保枚举值代码分析
2020/12/02 Python
Python爬取网站图片并保存的实现示例
2021/02/26 Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
2021/03/04 Python
路德维希•贝克(LUDWIG BECK)中文官网:德国大型美妆百货
2020/09/19 全球购物
幼师岗位求职简历的自荐信格式
2013/09/21 职场文书
学校司机岗位职责
2013/11/14 职场文书
行政人员工作职责
2013/12/05 职场文书
女娲补天教学反思
2014/02/05 职场文书
中药学专业求职信
2014/05/31 职场文书
小学生志愿者活动方案
2014/08/23 职场文书
小学语文教学反思范文
2016/03/03 职场文书