JavaScript截取字符串的Slice、Substring、Substr函数详解和比较

JavaScript截取字符串的Slice、Substring、Substr函数详解和比较

在JavaScript中,有3个常用的函数可以用来截取字符串。这些函数是Slice、Substring和Substr。这篇文章将详细介绍这些函数、它们的用法及它们之间的差异。

Slice函数

Slice函数用于从字符串中获取一段子字符串。它接受2个参数,开始位置和结束位置,其中开始位置包括在截取的字符串中,而结束位置不包括在截取的字符串中。如果没有给该函数传递第二个参数,则默认截取到字符串的结尾。

下面是一个示例代码:

const str = 'hello world';
const slicedStr = str.slice(0, 5); // "hello"

在这个示例中,截取的开始位置是0,结束位置是5。因此,返回的字符串是从字符串的开始到第5个字符的子字符串。

Substring函数

Substring函数与Slice函数相似,也用于截取字符串。但不同之处在于,它接受的第二个参数是截取的结束位置。如果没有传递第二个参数,则默认截取到字符串的结尾。

下面是一个示例代码:

const str = 'hello world';
const subStr = str.substring(0, 5); // "hello"

在这个示例中,截取的开始位置是0,结束位置是5。因此,返回的字符串是从字符串的开始到第5个字符的子字符串。

Substr函数

Substr函数也用于截取字符串,但它与Slice和Substring函数略有不同。它接受2个参数,开始位置和要截取的字符数。

下面是一个示例代码:

const str = 'hello world';
const substr = str.substr(0, 5); // "hello"

在这个示例中,截取的开始位置是0,要截取的字符数是5。因此,返回的字符串是从字符串的开始到第5个字符的子字符串。

比较这三个函数

这三个函数可以用来截取字符串,但由于它们的不同之处,它们之间也存在一些区别。

  1. Slice和Substring函数的第二个参数是一样的,即截取的结束位置。但是Substr函数的第二个参数是截取的字符数。
  2. Slice函数可以接受负数参数,表示从字符串的结尾开始计算截取位置。而Substring和Substr函数则不能接受负数参数。
  3. 如果开始位置大于结束位置,Slice函数返回一个空字符串,Substring函数会自动交换开始位置和结束位置的值,而Substr函数返回从字符串结尾开始计算的子字符串。
  4. 如果没有传递第一个参数(开始位置),Slice函数和Substring函数默认从字符串的开始位置截取,而Substr函数默认从字符串结尾计算并截取。

下面是一些示例代码:

const str = 'hello world';

// Slice函数示例
console.log(str.slice(-5));  // "world"
console.log(str.slice(0, -6));  // "hello"

// Substring函数示例
console.log(str.substring(str.length - 5));  // "world"
console.log(str.substring(6, 0));  // "hello"

// Substr函数示例
console.log(str.substr(-5));  // "world"
console.log(str.substr(6, 5));  // "world"

这些示例代码展示了这三个函数的差异性及其用法。根据你的需求,选择适合你的函数来截取字符串吧!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript截取字符串的Slice、Substring、Substr函数详解和比较 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • 浅析js预加载/延迟加载

    浅析JS预加载/延迟加载 在Web开发中,常常需要在网页中引入JavaScript文件,但是如果JavaScript文件过大或者网络情况较差,就会出现网页加载速度过慢的问题,影响用户体验。为了解决这一问题,通常可以采用JS预加载和延迟加载技术。 JS预加载 JS预加载可以让网页在正式加载之前,提前加载部分必需的JS文件,从而提高网页的加载速度。可以通过以下方…

    JavaScript 2023年5月27日
    00
  • javascript实现文字跑马灯效果

    一、实现思路: 1.先利用HTML搭建好文字容器和跑马灯容器结构; 2.利用CSS对文字容器进行相应的样式设置,并将跑马灯容器设置为具有固定宽度和溢出隐藏,再将文字容器放置在跑马灯容器中; 3.利用JavaScript开发跑马灯功能,在JavaScript中,通过定时器和相关的DOM操作,实现文字容器在跑马灯容器中持续向左移动的效果。 二、示例代码: 示例1…

    JavaScript 2023年6月11日
    00
  • 通过实例解析javascript Date对象属性及方法

    下面是详细的攻略步骤: 一、JavaScript Date对象简介 Date对象是Javascript的一个核心对象,它用于处理日期和时间值。通过使用Date对象,我们可以获取和设置当前的时间,计算两个时间之间的差值,并将时间转换为可读的格式。 创建Date对象的方式很多,可以使用日期字符串、时间戳等方式。例如: var now = new Date(); …

    JavaScript 2023年6月10日
    00
  • 如何用js判断dom是否有存在某class的值

    判断DOM中是否存在某个class可以使用JavaScript来实现,具体步骤如下: 获取要判断的DOM元素. 调用DOM元素的classList属性来获取该元素的class列表. 遍历该列表,判断是否存在目标class. 根据判断结果进行相应的处理。 下面是一些示例说明: 示例1:判断DOM元素是否存在某个class。 // 获取DOM元素 var ele…

    JavaScript 2023年6月10日
    00
  • 基于JS实现动态跟随特效的示例代码

    下面就是关于“基于JS实现动态跟随特效的示例代码”的攻略。 什么是动态跟随特效? 动态跟随特效,即鼠标在页面上移动时,某个元素会跟随鼠标的移动而移动。这种交互效果可以增加用户的体验感,也可以让网站看起来更加生动有趣。 准备工作 在开始之前,您需要确保您已经熟练掌握了基础的HTML、CSS和JavaScript知识。 示例代码 下面是一段基于JavaScrip…

    JavaScript 2023年6月11日
    00
  • Area 区域实现post提交数据的js写法

    Area 区域是HTML表单元素的一种。它允许在一个可编辑的区域内输入文本或代码。使用JavaScript,我们可以使用它来实现提交数据的功能,这些数据可以使用POST方法发送到服务器。 以下是实现Area 区域Post提交数据的基本步骤: 创建一个表单元素,其中包含一个Area 区域,指定一个ID用于JavaScript操作。 <form> &…

    JavaScript 2023年6月11日
    00
  • JavaScript 输入框内容格式验证代码

    下面就是 JavaScript 输入框内容格式验证代码的完整攻略。 目录 输入框格式验证的意义 正则表达式初探 使用 HTML5 属性进行格式验证 使用 JavaScript 进行格式验证 1. 输入框格式验证的意义 很多网站都有注册或提交信息的功能,输入框内容格式验证可以帮助用户更好地填写信息,减少错误。同时,也可以减少服务器接收到非法数据的情况。 2. …

    JavaScript 2023年6月10日
    00
  • ES6 Class中实现私有属性的一些方法总结

    下面是关于“ES6 Class中实现私有属性的一些方法总结”的完整攻略: 1. 私有属性的概念 在ES6的Class中,私有属性是指只能在类内部访问,而无法在类外部访问的属性。目前,ES6并不支持直接定义私有属性,但是可以通过一些方法实现类似于私有属性的效果。 2. 实现私有属性的方法 以下是几种实现私有属性的方法: 2.1 在构造函数中定义私有属性 这种方…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部