slice,substr,substring的区别

<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
    <head>
        <title>TODO supply a title</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script>
            var str="123456";
            console.log(str.slice(0));
            console.log(str.slice(0,4));
            console.log(str.slice(0,-1));
            console.log(str.slice(-1));
            console.log(str.slice(-5));

            //123456|1234|12345|6|23456

            console.log(str.substr(0));
            console.log(str.substr(0,4));
            console.log(str.substr(0,-1));
            console.log(str.substr(-1));
            console.log(str.substr(-5));

            //123456|1234|空字符串|6|23456

            console.log(str.substring(0));
            console.log(str.substring(0,4));
            console.log(str.substring(4,0))
            console.log(str.substring(0,-1));
            console.log(str.substring(-1));
            //123456|1234|1234|空字符串|123456
            /**
             * 总结三者的区别:
             * 1、substring(start,end)和slice(start,end)都表示提取从start下标开始(包括该下标上的字符)到end下标结束(不包括该下标上的字符)之间的内容,如果不包含end参数则表示提取从start到结尾的全部字符
             * 2、substring不支持负数参数(如果为负数则转换为0来处理),slice支持负数参数(如果参数为负数则表示从最右边算起,例1第一行中的0为-1,1为-2);substring如果start>end则互相交换,而slice则不支持交换
             * 3、substr其实是不是作为ECMAScript标准发布的,因此各种浏览器之间不是兼容的,但是既然提出来了还是讲一下substr(start,length)函数可以看出其实和上面两种函数的差别,即第二个参数代表的是截取的长度,不再是作为结尾下标来处理,所以该函数表示从开始下标start开始,向右截取length个长度的字符。按照w3c上来讲start是支持负数的,即表示从字符传的结尾开始计算,但是因为该函数并不是标准里的所以各浏览器实现不一,所以还是不建议用负数了。length为负数则不会截取任何字符,因为长度不可能为负的
             */

        </script>
    </head>
    <body>
        <div>TODO write content</div>

    </body>
</html>
时间: 2025-01-17 23:16:27

slice,substr,substring的区别的相关文章

slice、substring、substr的区别

首先它们都接收两个参数,slice和substring接收的是起始位置与结束位置,而substr接收的是起始位置和所要截取的字符长度. 特殊注意: 当第二参数大于第一个参数时,slice会返回空字符串:substring会自动将较小的参数作为起始位置,较大的参数作为结束位置: 当参数为负数时,slice与substr都会将参数与字符串的长度相加作为参数值:当substr的第二个参数为负数时也会当成0,从而返回空符串:substring则将负数直接为作0 参考:http://www.cnblogs

js中 substr(), substring(), slice()的区别

一.作用 三者都是基于原字符串创建新字符串的方法. 接收一到两个参数,第一个参数截取字符串的开始位置(字符下标,从0开始),第二个参数因方法不同而不同,后面不同点会说到. 另外,三个方法都不会修改原字符串的值. 二.相同点 都可以传入一个或两个参数 只传入一个参数时,都表示从指定下标,截取字符串长度,直到字符串最后一个字符 var str = 'hello sarahshine!'; console.log(str.slice(3)); // 'lo sarahshine!' console.l

slice,substr和substring的区别

首先,他们都接收两个参数,slice和substring接收的是起始位置和结束位置(不包括结束位置),而substr接收的则是起始位置和所要返回的字符串长度. 直接看下面例子: var test = 'hello world'; alert(test.slice(4,7)); //o w alert(test.substring(4,7)); //o w alert(test.substr(4,7)); //o world 这里有个需要注意的地方就是:substring是以两个参数中较小一个作为

slice 、 substr 、substring的区别

参考文章:http://www.cnblogs.com/littledu/archive/2011/04/18/2019475.html 1.他们都接收两个参数,slice和substring接收的是起始位置和结束位置(不包括结束位置),而substr接收的则是起始位置和所要返回的字符串长度. Part1 1 var test = 'hello world'; 2 3 alert(test.slice(4,7)); //o w 4 alert(test.substring(4,7)); //o

js字符串截取函数slice()、substring()、substr()

摘要 在js中字符截取函数有常用的三个slice().substring().substr()了,下面我来给大家介绍slice().substring().substr()函数在字符截取时的一些用法与区别吧. 取字符串的三个函数:slice(start,[end]),substring(start,[end])和substr(start,[length]) 相关属性: slice() 第一个参数代表开始位置,第二个参数代表结束位置的下一个位置,截取出来的字符串的长度为第二个参数与第一个参数之间的

slice与substring与substr

substr(begin,end): begin表示起始index,end表示提取几位 substring(begin,end):begin表示起始index,end表示结束index. slice(begin,end):同substring. slice与substring区别: 1.substring中2个参数如果begin大于end,则交换两者位置:slice不会交换,直接返回空串 2.substring中2个参数如果为负数,则自动转成0:slice则会讲str.length加上其负值得到

字符串方法,slice(),substring(), substr()

slice(), substring(), substr();这三个方法都是返回被操作字符串的一个子字符串,就是返回一个新的字符串. 都是接受一个参数或者两个参数: 第一个参数是指定字符串的开始位置: 第二次参数(在指定的情况下)表示字符串到哪里结束: 如果没有第二个参数,则将字符串结束的未位作为结束位置   slice()和substring()第二次参数指定的是字符串最后一个字符后面的位置: substr()第二个参数指定返回的字符串个数: var string = 'hello world

js中String对象slice()方法跟subString()的区别

slice() 和 substring() ECMAScript 提供了两种方法从子串创建字符串值,即 slice() 和 substring().这两种方法返回的都是要处理的字符串的子串,都接受一个或两个参数.第一个参数是要获取的子串的起始位置,第二个参数(如果使用的话)是要获取子串终止前的位置(也就是说,获取终止位置处的字符不包括在返回的值内).如果省略第二个参数,终止位就默认为字符串的长度. 与 concat() 方法一样,slice() 和 substring() 方法都不改变 Stri

Go——array、slice和map的区别

参考文章:https://go101.org/article/container.html 1. 文字表示 N:一般称作长度,表示元素的个数. T:表示元素的类型,可以是任意类型. K:在map中表示索引的类型,可以是任意可比较的类型. 2. 例子 3. 正篇 如[1]所示,宏观上来看,array.slice.map的区别在于: a. array的定义是有长度的 b. slice的定义没有长度 c. map的定义没有长度 三种数据类型中的每一个元素都有一个对应的key值,这些key值叫做索引(i