substr、substring和slice方法区别

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 />");

打印效果
1 |12345|2 |123456|3 |6|4 IE: |12| Chrome: |23|5 ||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 />");

打印效果
1 |12345|2 |123456|3 |2345|4 |12|5 ||6 |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 />");

打印效果
1 |12345|2 |123456|3 ||4 |2|5 ||6 ||如果你预想的结果和打印效果完全一致,那你的基本功一定不赖。如果多少有点犹豫或者结果出乎你的意料,那我的文章多少也有点用处了。

总结

substr

该方法的arg2和其它两个方法的arg2压根就代表不同意义,所以单独揪出来。

当arg1<0时,不同浏览器的结果不同。IE 直接将arg1改成0, Chrome 下标读取方式由原来的从左往右读改成从右往左读

 

substring和slice

(1)arg2 > arg1,即参数2大于参数1时

substring:自动颠倒位置,数值大的在arg2位置上,数值小的在arg1位置上
slice:返回空字符串

(2)对负数的处理

substring:将数值为负数的参数转换为0
slice:将数值为负数的参数转换为(字符串长度-参数数值)

 

时间: 2024-09-21 03:25:40

substr、substring和slice方法区别的相关文章

常常会用到的截取字符串substr()、substring()、slice()方法详解_javascript技巧

slice() 定义:接受一个或者两个参数,第一个参数指定子字符串的开始位置.第二个参数表示子字符串的结束位置(不包括结束位置的那个字符),如果没有传递第二个参数,则将字符串的长度作为结束位置. 1.传递参数为正值情况: var str ="helloWorld"; // 一个参数,则将字符串长度作为结束位置 alert(str.slice(3)); // "loWorld" // 两个参数,7位置上的字符为"r",但不包括结束位置的字符 ale

js substr、substring和slice使用说明小记_javascript技巧

关于substr.substring和slice方法区别的文章,网上搜到了许多,文章内容也基本一致.而后,我将其中一篇文章中的代码挪到本地进行了测试,发现测试结果和原文中的有些出入. 我更相信自己亲自验证过后的代码,随后小记下来,供以后查阅. substr 复制代码 代码如下: document.write("|" + str.substr(0,5) + "|" + "<br />"); document.write("|&

javascript中substr,substring,slice.splice的区别说明_基础知识

substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符. stringObject.substr(start,length);start必须,length可选. start 是截取的开始位置的下标,从0开始算起,必须是数字.可以是负数,-1是倒数第一个字符,-2是倒数第二个字符,以此类推. length 是要截取的字符的长度,必须是数字.如果未指定,则从start位置处开始截取到字符串结尾. substr 指定的是字符串的开始下标跟截取长度,所以可以替代substring

javascript中substring()、substr()、slice()的区别_javascript技巧

stringObject.substring(start,stop) 用于提取字符串中介于两个指定下标之间的字符. start必需.一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置. stop可选.一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1.如果省略该参数,那么返回的子串会一直到字符串的结尾. start从0开始 到stop(不包含stop)结束 不接受负的参数. stringObject.substr(start,

javascript subString()方法和slice()方法

网页特效 subString()方法和slice()方法 slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分. 语法 stringObject.slice(start,end) 参数 描述 start 要抽取的片断的起始下标.如果是负数,则该参数规定的是从字符串的尾部开始算起的位置.也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推. end 紧接着要抽取的片段的结尾的下标.若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串.如果

js字符串截取函数substr substring slice使用对比_javascript技巧

常用三个的字符串截取函数:substr substring slice,调用方式如下 复制代码 代码如下: stringObject.slice(start,end) stringObject.substr(start,length) stringObject.substring(start,end) 最明显的是substr,第二个参数是length,是截取长度,其他两个函数的第二个参数都是末尾字符的下标(这里并不包括该下标的字符,只截取到该字符的前一个字符) slice跟substring比,

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

在该书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(

被遗忘的javascript的slice() 方法

  javascript数组对象的slice方法从数组中分离出一个子数组,功能类似于字符串对象的substring方法.今天我们就来详细探讨下javascript的这个不太常用的slice()方法. slice() 方法可从已有的数组中返回选定的元素. 好吧,我承认我竟然把它忘了! 这次我在回顾一下它 语法 arrayObject.slice(start,end) 数组.slice(起始,结束) ? 1 2 3 4 5 6 7 8 9 10 <script type="text/javas

js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解_javascript技巧

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置. lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索. substring() 方法用于提取字符串中介于两个指定下标之间的字符. substr(start,length)表示从start位置开始,截取length长度的字符串 split 将一个字符串分割为子字符串,然后将结果作为字符串数组返回 replace 用于在字符串中用一些字符替换另一些字符,或替换一个与正则