首先,他们都接收两个参数,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是以两个参数中较小一个作为起始位置,较大的参数作为结束位置。

如:

alert(test.substring(7,4));          //o w

接着,当接收的参数是负数时,slice会将它字符串的长度与对应的负数相加,结果作为参数;substr则仅仅是将第一个参数与字符串长度相加后的结果作为第一个参数;substring则干脆将负参数都直接转换为0。测试代码如下:

var test = 'hello world';alert(test.slice(-3));         //rld
alert(test.substring(-3));     //hello world
alert(test.substr(-3));        //rld

alert(test.slice(3,-4));       //lo w
alert(test.substring(3,-4));   //hel
alert(test.substr(3,-4)      //空字符串

注意:IE对substr接收负值的处理有错,它会返回原始字符串。

转载于:https://www.cnblogs.com/gongshunkai/p/5852836.html

slice,substr和substring的区别相关推荐

  1. js slice,substr和substring的区别

    1.他们都接收两个参数, slice和substring接收的是起始位置和结束位置(不包括结束位置) substr接收的则是起始位置和所要返回的字符串长度. 2.substring 特殊的地方  x. ...

  2. JavaScript中String的slice(),substr(),substring()三者区别

    JavaScript中String的slice(),substr(),substring()三者区别 共同之处 从给定的字符串中截取片段,并返回全新的这片段的字符串对象,且不会改动原字符串. 具体不同 ...

  3. 字符串和数组中split().toString(),join(),splice(),slice(),substr()和substring()

    1 <!Doctype html> 2 <head> 3 <mate charset="utf-8"> 4 <title>strin ...

  4. java.substr_Java语言中substr和substring的区别

    Java语言中substr和substring的区别 由于在项目中有需要对字符串进行截取,然后手残使用了IDE自动提示的substr,没想那么多以为substr和substring没多大区别. 然而并 ...

  5. JavaScript中substr()和substring的区别

    例子: var letters = "abcdefg"; console.log(letters.substr(1,3))//结果为bcd console.log(letters. ...

  6. substr 与 substring 的区别

    substr (start[, 所要子川的长度]); substring(start, 结束的位置) 转载于:https://www.cnblogs.com/yakun/p/3690305.html

  7. JavaScript 中 substr 和 substring的区别

    String.substr(N1,N2)  这个就是我们常用的从指定的位置(N1)截取指定长度(N2)的字符串; String.substring(N1,N2) 这个就有点特别了,它是先从N1,N2里 ...

  8. js中substr与substring的区别

    Js的substring和C#的Substring的作用都是从一个字符串中截取出一个子字符串,但它们的使用方法却有很大的不同,下边我们来比较看看: Js的substring 语法: 程序代码  Str ...

  9. String.slice和String.substring有什么区别?

    本文翻译自:What is the difference between String.slice and String.substring? Does anyone know what the di ...

最新文章

  1. C语言文本操作以及C语言小技巧
  2. 机器学习算法总结--朴素贝叶斯
  3. django 与 vue 的完美结合
  4. java的foreach_深入理解java中for和foreach循环
  5. “Internet Explorer无法打开站点,已终止操作”解决
  6. python 中的堆栈 用列表实现
  7. 「leetcode」 1382. 将二叉搜索树变平衡:【构造平衡二叉搜索树】详解
  8. ubuntupython损坏_Ubuntu上修复Python
  9. matlab:使用全局变量
  10. MPS2326 Constant-On-Time (COT) Step-Down Converter DC-DC
  11. 2021年金属非金属矿山(露天矿山)安全管理人员考试报名及金属非金属矿山(露天矿山)安全管理人员证考试
  12. oracle spatial特点,Oracle Spatial中SDO_Geometry详细说明
  13. 猜数字?我要王者荣耀
  14. 柳岩变复古画报女郎 红唇魅惑爆乳秀美腿
  15. [GXOI/GZOI2019]逼死强迫症 题解
  16. ubantu20切换源
  17. TMC260/TMC2660/TMC262步进电机驱动
  18. 微信小程序java服务_微信小程序访问webService(Java)
  19. 将多个文件夹下的文件放在一个文件下下
  20. java_多线程——线程池、submit和execute区别

热门文章

  1. 人工智能应用实践与趋势
  2. 2018全球最佳品牌Top25:时代巨变的一个缩影
  3. 行业|深度解析:医疗机器人商用要过几道坎
  4. 《2018中国大数据发展指数报告》发布:广东、上海、贵州、北京、重庆领先
  5. 智能制造深度报告发布:工业机器人、视觉与工业物联/互联网新方向
  6. AI界的七大未解之谜:OpenAI丢出一组AI研究课题
  7. 学术界盛事揭幕:一图解读跨越百余年的诺贝尔奖
  8. 前 Google 工程师总结的算法面试指南
  9. 再见,谷歌!再见,算法!
  10. oracle函数,oracle编写函数