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 相关文章推荐
下拉列表select 由左边框移动到右边示例
Dec 04 Javascript
js语法学习之判断一个对象是否为数组
May 13 Javascript
原生javascript实现DIV拖拽并计算重复面积
Jan 02 Javascript
jquery实现动静态条形统计图
Aug 17 Javascript
跟我学习javascript的函数和函数表达式
Nov 16 Javascript
jquery实现(textarea)placeholder自动换行
Dec 22 Javascript
JavaScript实现星星等级评价功能
Mar 22 Javascript
vue.js移动端app之上拉加载以及下拉刷新实战
Sep 11 Javascript
微信小程序实现animation动画
Jan 26 Javascript
uni app仿微信顶部导航条功能
Sep 17 Javascript
JS自定义滚动条效果
Mar 13 Javascript
javascript实现用户必须勾选协议实例讲解
Mar 24 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
php 远程关机操作的代码
2008/12/05 PHP
php编写的抽奖程序中奖概率算法
2015/05/14 PHP
php简单实现短网址(短链)还原的方法(测试可用)
2016/05/09 PHP
PHP中将一个字符串部分字符用星号*替代隐藏的实现代码
2019/09/08 PHP
php使用event扩展的io复用测试的示例
2020/10/20 PHP
番茄的表单验证类代码修改版
2008/07/18 Javascript
关于jQuery中的end()使用方法
2011/07/10 Javascript
javascript window.open打开新窗口后无法再次打开该窗口问题的解决方法
2014/04/12 Javascript
jQuery插件slides实现无缝轮播图特效
2015/04/17 Javascript
JS实现带有抽屉效果的产品类网站多级导航菜单代码
2015/09/15 Javascript
javascript 动态样式添加的简单实现
2016/10/11 Javascript
js链表操作(实例讲解)
2017/08/29 Javascript
浅谈vuex 闲置状态重置方案
2018/01/04 Javascript
vue中各选项及钩子函数执行顺序详解
2018/08/25 Javascript
js中怎么判断两个字符串相等的实例
2019/01/17 Javascript
JavaScript函数式编程(Functional Programming)纯函数用法分析
2019/05/22 Javascript
python实现迭代法求方程组的根过程解析
2019/11/25 Javascript
JavaScript的console命令使用实例
2019/12/03 Javascript
小程序外卖订单界面的示例代码
2019/12/30 Javascript
vue+element 实现商城主题开发的示例代码
2020/03/26 Javascript
使用TS来编写express服务器的方法步骤
2020/10/29 Javascript
python实现键盘输入的实操方法
2019/07/16 Python
python实现知乎高颜值图片爬取
2019/08/12 Python
Python的对象传递与Copy函数使用详解
2019/12/26 Python
python如何删除文件、目录
2020/06/23 Python
网络工程师的自我评价
2013/10/02 职场文书
总经理办公室主任岗位职责
2013/11/12 职场文书
道德模范先进事迹
2014/02/14 职场文书
采购求职信
2014/03/17 职场文书
药品业务员岗位职责
2014/04/17 职场文书
技术入股合作协议书
2014/10/07 职场文书
2014年置业顾问工作总结
2014/11/17 职场文书
2014年数学教研组工作总结
2014/12/06 职场文书
超级礼物观后感
2015/06/15 职场文书
2015年秋季运动会广播稿
2015/08/19 职场文书
JavaScript文档对象模型DOM
2021/11/20 Javascript