slice(start[,end])方法需要提供至少一个整数参数,作用是返回从start的位置开始到end位置的字符子串。当参数start为负数的时候他将从字符串尾部开始计算,当end没有指定时,end即为字符串的结尾。如果为负数呢,他也要从字符串尾部开始计算。所以当我们需要一个字符串的之后3个字符时只需slice(-3);由此可见,合理的使用负数让我们的程序变得简单。但是在此之前,请确保自己了解了他的作用。
据我所知的编程语言中,有很大一部分的substring方法设计为substring(beginposition,length),而在JavaScript中正好也有这么一个方法,可惜真正与之对应的是substr方法。

substr(pos[,length])方法中,如果pos为负数,则与slice的负数解释相同,length省略时与slice的end省略也相同。

到了substring方法,substring(from[,to]);从定义上就可以看到,后一个参数是一个位置,而非长度,因此他更像slice,但是与之有一点重要的区别,那就是substring方法不包含to位置。即是一个半开半闭区间。另一个区别是substring不支持负向位置,如果第一个参数为负数,那么就是从位置0开始。后一个位置如果是负数,则返回空串,如果第二个参数小于第一个参数,那么同样返回空串,但是如果相等呢,还是空串,因为这是一个半开半闭区间[from,to)。

最新文章

  1. http://www.mysqltutorial.org/python-mysql-query/
  2. 使用原生ajax处理json组成的数组
  3. 直接拿来用!最火的Android开源项目(一) (转)
  4. hdu 1222 狼和兔子
  5. BAT CMD 批处理文件脚本 -2
  6. cocos2d-x笔记5: 通过jni实现C++调用Java
  7. iOS里面如何同时使用开启ARC的库 和 没有开启 ARC的库,ARC 与非 ARC同时存在的问题
  8. Ambari安装
  9. iOS学习之应用之间的操作(转发)
  10. Java读取properties文件(非泛滥)
  11. Linux —— 命令
  12. IntelliJ IDEA使用笔记
  13. Nginx 如何增大nginx使用cpu有效时长
  14. String.IsNullorEmpty()方法的使用
  15. 【转载】基于rasa的对话系统搭建(上)
  16. log4net 如何关闭Nhibernate产生的大量日志
  17. leetcode — remove-element
  18. python - 上下文管理协议(with + __enter__ + __exit__)
  19. Nginx深度优化
  20. 如何调用Http请求的接口

热门文章

  1. SpringBoot中RedisTemplate订阅发布对象
  2. ping正常但是ssh到linux服务器很卡的解决方法
  3. Django前端的文本编辑器,滑动登陆
  4. python学习 (三十四) Python文件操作
  5. canvas之画矩形
  6. Flask之视图(一)
  7. redmineBUG系统
  8. 比XGBOOST更快--LightGBM介绍
  9. mongodb 安装、windows服务、创建用户
  10. Spring技术内幕之Spring Data JPA-自定义Repository实现