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

     

     

  • 相关阅读:
    STM32使用keil串口输出中文乱码问题
    STM32CUBEMX忘记配置sys中的debug导致程序只能下载一次的问题
    远渡重洋的开源之路我是买家项目
    其实我就是个技术迷自身定位及展望
    五一上海行
    The Secret 秘密 读书笔记
    MySQL数据库设计复习笔记及项目实战
    PHP可调试团队开发环境配置支持企业级开发
    WIN7下QQ概念版使用手记
    Memento
  • 原文地址:https://www.cnblogs.com/kongxianghai/p/2950149.html
Copyright © 2011-2022 走看看