深入理解JS中的substr和substring

深入理解JS中的substr和substring

在JavaScript字符串操作中,substr()substring()是两个常用的函数,都用来截取字符串。但在具体应用场景和实现方式有所不同,因此需要深入理解其差异。

substr()

substr()函数接受两个参数,第一个参数是截取的起始位置,第二个参数是截取的长度。如果省略第二个参数,则默认截取至字符串的尾部。该函数也可以接受负数参数,表示从字符串尾部开始计数。

示例1:

let str = 'Hello, world!';
let subStr = str.substr(7, 5);
console.log(subStr); // 输出 "world"

在上面的例子中,substr(7, 5)表示从第7个位置(从0开始计数)开始,截取长度为5的字符串。因此输出结果为"world"。

示例2:

let str='Hello world!';
let subStr=str.substr(-6,2);
console.log(subStr);//输出:'ld'

在上面的例子中,substr() 的第一个参数为负数,表示从字符串尾部开始截取,起始位置为倒数第6位(l字母),2表示截取的长度,即从上一个起始位置开始截取两位,输出结果为"ld"。

substring()

substr()类似,substring()也用来截取字符串,但它接受两个参数,第一个参数是截取的起始位置,第二个参数是截取的终止位置(不包含终止位置本身)。如果省略第二个参数,则默认截取至字符串的尾部。substring()不支持负数参数。

示例1:

let str = 'Hello, world!';
let subStr = str.substring(7, 12);
console.log(subStr); // 输出 "world"

在上面的例子中,substring(7, 12)表示从第7个位置(从0开始计数)开始截取,到第12个位置(不包含第12个位置),因此输出结果为"world"。

示例2:

let str='Hello world!';
let subStr=str.substring(6);
console.log(subStr);//输出:'world!'

在上面的例子中,substring() 的第一个参数表示从截取的起始位置,即位置6开始截取,由于省略了第二个参数,因此截取到了字符串尾部,输出结果为"world!"。

总结

  • substr()根据起始位置和长度截取字符串,支持负数参数,即从字符串尾部开始计数。
  • substring()根据起始位置和终止位置截取字符串,不支持负数参数。
  • 两者的区别在于第二个参数的含义,substr()表示截取的长度,substring()表示截取的终止位置。
  • 除非有特别需求,建议使用substring()函数。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:深入理解JS中的substr和substring - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • JavaScript获取时区实现过程解析

    当我们需要获取时区信息时,JavaScript提供了一些内建方法和对象可以帮助我们快速获取本地和UTC时间之间的差异。本文将详细讲解JavaScript获取时区的实现过程和示例。 获取本地时区 我们可以使用Date对象的getTimezoneOffset()方法获取当前本地时间与UTC时间的差值(单位为分钟)。因为我们知道UTC时间偏移值已知,因此我们可以通…

    JavaScript 2023年5月27日
    00
  • javascript 用函数实现继承详解

    下面是“javascript 用函数实现继承详解”的完整攻略,内容包括以下几部分: 什么是继承? 原型链继承 借用构造函数实现继承 组合继承 原型式继承 寄生式继承 寄生组合式继承 什么是继承? 继承是 JavaScript 中的一个重要概念,它允许我们可以在已有对象的基础上创建新的对象,并继承已有对象的属性和方法。通过继承,我们可以大大提高代码重用的效率,…

    JavaScript 2023年5月27日
    00
  • JS计算网页停留时间代码

    JS计算网页停留时间代码可以帮助网页作者分析读者在该网页上的停留时间,进而提高网站的口碑和用户粘度。以下是JS计算网页停留时间代码的完整攻略。 1. 标准浏览器方法 要实现JS计算网页停留时间的代码,可以使用标准的浏览器方法。具体实现方法如下: 在网页中添加以下代码: <script> var timeStart=0, timeEnd=0, ti…

    JavaScript 2023年5月27日
    00
  • Vue Element前端应用开发之开发环境的准备工作

    下面是“Vue Element前端应用开发之开发环境的准备工作”的完整攻略。 准备工作 在开始Vue Element前端应用开发之前,我们需要做一些准备工作。这些准备工作包括: 安装Node.js和npm 安装Vue CLI 创建项目 下面我们来详细介绍这些准备工作。 安装Node.js和npm Node.js是一个JavaScript的运行环境,它能帮我们…

    JavaScript 2023年6月10日
    00
  • JAVASCRIPT 实现普通日期转换多少小时前、多少分钟前、多少秒

    为了将普通日期转换为多少小时前、多少分钟前、多少秒之前,我们可以使用JavaScript中的Date对象和一些基本的数学运算。 首先,需要获取当前时间和要转换的日期时间,可以使用Date.now()获取当前的时间戳,使用new Date()获取要转换的日期时间。 let now = Date.now(); let date = new Date(‘2022-…

    JavaScript 2023年5月27日
    00
  • 原生js实现获取form表单数据代码实例

    获取 form 表单数据是 Web 开发中常见的需求,可以使用 JavaScript 代码来实现这一功能。本文将介绍如何使用原生 JavaScript 获取表单数据。 获取表单元素 要获取表单数据,首先需要获取表单元素。可以使用以下代码来获取表单元素: const formElement = document.getElementById(‘form’); …

    JavaScript 2023年6月10日
    00
  • JS实现时间校验的代码

    以下是使用JavaScript实现时间校验的完整攻略: 步骤一:获取当前时间 首先,需要获取当前时间以供后续校验。使用JavaScript中的 Date() 函数可以获取当前时间。 const currentDate = new Date(); 步骤二:设置有效时间段 根据业务需求,需要设置一个有效时间段。使用JavaScript的 Date() 函数,可以…

    JavaScript 2023年5月27日
    00
  • 超详细的javascript数组方法汇总

    来讲一下“超详细的JavaScript数组方法汇总”的完整攻略。 一、概述 本文总结了 JavaScript 数组常用的方法,包括改变原数组的方法和不改变原数组的方法。这些方法可以操作数组中的数据和数据类型,常用于数据处理、排序、循环等操作。阅读完此文,你将会掌握 JavaScript 数组操作的方方面面。 二、改变原数组的方法 JavaScript 中可改…

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