吐槽Javascript系列一:slice()、substr()和 substring()

栏目: JavaScript · 发布时间: 7年前

内容简介:实不相瞒,对于字符串中的slice()、substr()和 substring()这三个方法,我自己很长一段时间都是理不清的,每次用都得查一下文档,因为他们长得实在是太像了。我们先来温习一下,他们的特性如下:我们来看几个简单的例子:

实不相瞒,对于字符串中的slice()、substr()和 substring()这三个方法,我自己很长一段时间都是理不清的,每次用都得查一下文档,因为他们长得实在是太像了。

特性

我们先来温习一下,他们的特性如下:

  • 这三个方法都会 返回 被操作字符串的 一个子字符串 ,而且也都接受一或两个参数
  • 这三个方法都 不会改变 原字符串
  • 第一个参数指定子字符串的开始位置,第二个参数(在指定的情况下)表示子字符串到哪里结束。具体来说,slice()和substring()的第二个参数指定的是子字符串最后一个字符后面的位置,而substr()的第二个参数指定的则是返回的字符个数

我们来看几个简单的例子:

const str = 'hello world'
console.log(str.slice(3)) // lo world
console.log(str.substring(3)) // lo world
console.log(str.substr(3)) // lo world

console.log(str.slice(3, 7)) // lo w
console.log(str.substring(3, 7)) // lo w
console.log(str.substr(3, 7)) // lo worl

吐槽

substring():slice()同学,我们干的是一样的活,我感觉你有点多余,并且你的名字在数组的方法中也出现了,让人用起来晕晕的。

slice():我们在传入负值的时候,是不一样的。

console.log(str.slice(-3)) // rld
console.log(str.substring(-3)) // hello world

substring():谁没事传负值啊,你见过有人传入负值的吗?混乱!

slice():...


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Flexible Rails

Flexible Rails

Peter Armstrong / Manning Publications / 2008-01-23 / USD 44.99

Rails is a fantastic tool for web application development, but its Ajax-driven interfaces stop short of the richness you gain with a tool like Adobe Flex. Simply put, Flex is the most productive way t......一起来看看 《Flexible Rails》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具