javascript中String 对象slice 和substring 区别
1、slice(start,stop)和substring(start,stop) 方法都是用于提取字符串中从start开始到stop-1间的字符(因为字符串索引是从0开始)。其中 start必选,stop可选。
2、现在主要讲两者间的不同之处
substring(start,stop):
1. 当start等于stop时 返回空字符串。
2.stop可选:如果省略该参数,那么返回的子串会一直到字符串的结尾。
3.如果start>stop,substring 会交换着两个参数,即从end参数开始截取到start-1位置结束。
4.如果start或者stop中任意一个值大于字符串长度(length),那么这个值将会被字符串的长度替换。替换后看是否满足条件3,满足则走继续第3步。
5.如果start和stop中任意一个值为负数(<0)或者是NaN(非数字),那么这个值会当做0来处理。
slice(start,stop):
1. 当start等于stop时 返回空字符串,和substring是一样的效果。
2.stop可选:如果省略该参数,那么返回的子串会一直到字符串的结尾。和substring一样效果。
3.如果start>stop,slice不会交换着两个参数位置,而是直接返回空 “”。
4.如果start或者stop中任意一个值大于字符串长度(length),那么这个值将会被字符串的长度替换。和substring一样效果。
5. 如果start是负数(<0):那么截取字符串将会以字符串长基准,向前减start绝对值个字符串开始到stop处结束。
eg: var str ="abcdef";var s1=str.slice(-5,3);console.info(s1) //bc 从 6-5 开始到 3 处结束 ,6 为字符串长度=slice(1,3);
如果end是负数:那么会替换stop为(length-1)-math.abs(stop);
eg: var str="abcdef";var s1=str.slice(1,-2);console.info(s1); //bcd 从 1 开始 到 6-1 -2=3 处结束
最后还有个 subStr(start.length)
这个比较好区分,他 返回从start(包括 start 所指的字符) 处开始的 length 个字符,没指定length或者length大于字符串长度返回到结尾字串。
javascript中String 对象slice 和substring 区别的更多相关文章
- JavaScript中String对象的match()、replace() 配合正则表达式使用
正则表达式由来已久,查找替换功能非常强大,但模板难记复杂. JavaScript中String对象的match().replace()这2个方法都要使用正则表达式的模板.当模板内容与字符串不相匹配时, ...
- javascript中string对象方法中的slice、substring、substr的区别联系
1.slice.substring.snustr均属于String的对象方法,用于截取或提取字符串片段,三者均布破坏原先的字符串,而是以新的字符串返回被提取的部分. <script> va ...
- JavaScript中String对象的方法介绍
1.字符方法 1.1 charAt() 方法,返回字符串中指定位置的字符. var question = "Do you like JavaScript?"; alert(ques ...
- Javascript中String对象的的简单学习
第十一课String对象介绍1:属性 在javascript中可以用单引号,或者双引号括起来的一个字符当作 一个字符对象的实例,所以可以在某个字符串后再加上.去调用String 对象 ...
- JavaScript中String对象处理HTML标记中文本的方法
big():创建一个<big></big>标记,将这个字符串的字体变大blink():创建一个<blink></blink>标记,使字符串具有闪烁效果b ...
- javascript中的对象,原型,原型链和面向对象
一.javascript中的属性.方法 1.首先,关于javascript中的函数/“方法”,说明两点: 1)如果访问的对象属性是一个函数,有些开发者容易认为该函数属于这个对象,因此把“属性访问”叫做 ...
- JavaScript中判断对象类型方法大全1
我们知道,JavaScript中检测对象类型的运算符有:typeof.instanceof,还有对象的constructor属性: 1) typeof 运算符 typeof 是一元运算符,返回结果是一 ...
- Javascript中的对象和原型(3)
在Javascript中的对象和原型(二)中我们提到,用构造函数创建的对象里面,每个对象之间都是独立的,这样就会降低系统资源的利用率,解决这样问题,我们就要用到下面提到的原型对象. 一 原型对象 原型 ...
- JavaScript中判断对象类型的种种方法
我们知道,JavaScript中检测对象类型的运算符有:typeof.instanceof,还有对象的constructor属性: 1) typeof 运算符 typeof 是一元运算符,返回结果是一 ...
随机推荐
- 对 HTTP 304 的理解(转)
最近和同事一起看Web的Cache问题,又进一步理解了 HTTP 中的 304 又有了一些了解. 304 的标准解释是:Not Modified 客户端有缓冲的文档并发出了一个条件性的请求(一般是提供 ...
- linux的getcwd和readlink的区别
针对linux下的程序,有两个路径: 1>运行程序的路径; 2>可执行文件所在的路径 例如: 如果我在/home/yongchao下执行 $ ./temp/test 那么 运行程序的 ...
- C语言-07其它相关
预处理指令 /* 不带参数的宏定义 1.所有的预处理指令都是以#开头 2.预处理指令分3种 1> 宏定义 2> 条件编译 3> 文件包含 3.预处理指令在代码翻译成0和1之前执行 4 ...
- KVO与KVC初步了解
参考: http://magicalboy.com/kvc_and_kvo/ http://www.mamicode.com/info-detail-515516.html KVC,即是指 NSKey ...
- SQLite Helper (C#) z
http://www.codeproject.com/Articles/746191/SQLite-Helper-Csharp Introduction I have written a small ...
- linux下文件加密压缩和解压的方法
一.用tar命令 对文件加密压缩和解压 压缩:tar -zcf - filename |openssl des3 -salt -k password | dd of=filename.des3 此命 ...
- STM32系列命名规则
转自:STM32系列命名规则 STM32 F 103 C 6 T 7 xxx 1 2 3 4 5 6 7 8 第1部分:产品系列名,固定为STM32 第2部分:产品类型:F表示这是Flash产品,目前 ...
- java 集合(二)
1.练习题 如果输入的字符里有非英语字母的,不给于执行
- python学习之--自定义函数:
Python之--自定义函数: 在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回. 以下自定义 ...
- 把 Eclipse 中的工程 Push 到 Github(适用 Windows 平台)
今天发现一小技巧,关于如何把Eclipse的某一个Existing project push 到github服务器. Eclipse 应该是 JavaEE 版本. 在project 右键 team, ...