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

     

     

  • 相关阅读:
    298. Binary Tree Longest Consecutive Sequence
    117. Populating Next Right Pointers in Each Node II
    116. Populating Next Right Pointers in Each Node
    163. Missing Ranges
    336. Palindrome Pairs
    727. Minimum Window Subsequence
    211. Add and Search Word
    年底购物狂欢,移动支付安全不容忽视
    成为程序员前需要做的10件事
    全球首推iOS应用防破解技术!
  • 原文地址:https://www.cnblogs.com/kongxianghai/p/2950149.html
Copyright © 2011-2022 走看看