zoukankan      html  css  js  c++  java
  • javascript,子字符串操作方法:Slice()、Substr()、Substring()的区别

    一、参数含义上的区别。

      第一个参数 第二个参数(可选)
    slice() 开始位置 需要返回的子字符串最后一个字符后面的位置
    substr() 开始位置 需要返回的字符个数
    substring() 开始位置 需要返回的子字符串最后一个字符后面的位置

     

     

     

     

     

    例如:

    var strValue = "javascript programing";
    alert(strValue.slice(3));           //"ascript programing"
    alert(strValue.substring(3));       //"ascript programing"
    alert(strValue.substr(3));          //"ascript programing"
    alert(strValue.slice(3,13));        //"ascript pr"
    alert(strValue.substring(3,13));    //"ascript pr"
    alert(strValue.substr(3,13));       //"ascript progr"

     

    二、处理负值参数时的区别。

    参数的含义不变,只不过参数为负值时,3个子字符串函数会对负值参数进行不同的处理。

      第一个参数 第二个参数(可选) 备注
    Slice() 将负值与字符串的长度相加 将负值与字符串的长度相加  
    Substr() 将负值与字符串的长度相加 将负值变为0  
    substring() 将负值变为0 将负值变为0

    负值处理后,该函数会将较

    小的数作为开始位置,较大

    的数作为结束位置

     

     

     

     

    例如: 

    var strValue = "javascript programing";
    alert(strValue.slice(-3));        => alert(strValue.slice(18));       //"ing"
    alert(strValue.substring(-3)); => alert(strValue.substring(0)); //"javascript programing"
    alert(strValue.substr(-3)); => alert(strValue.substr(18)); //"ing"
    alert(strValue.slice(3,-13)); => alert(strValue.slice(3,8)); //"ascri"
    alert(strValue.substring(3,-13)); => alert(strValue.substring(0,3)); //"jav"
    alert(strValue.substr(3,-13)); =>
    alert(strValue.substr(3,0)); //""

     

     

  • 相关阅读:
    450. K组翻转链表
    6. 合并排序数组 II
    64. 合并排序数组
    165. 合并两个排序链表
    103. 带环链表 II
    102. 带环链表
    [web安全原理]PHP命令执行漏洞基础
    [原题复现]-HITCON 2016 WEB《babytrick》[反序列化]
    《将博客搬至CSDN》
    PHP反序列化漏洞-CVE-2016-7124(绕过__wakeup)复现
  • 原文地址:https://www.cnblogs.com/kongxianghai/p/2950149.html
Copyright © 2011-2022 走看看