javascript substr和substring用法比较

JavaScript 中的 substr()substring() 都用于从字符串中提取子字符串。它们之间的区别在于如何指定提取子字符串的开始位置和结束位置。

substr() 方法

substr() 方法接受两个参数,第一个参数是开始提取子字符串的位置,第二个参数是提取子字符串的长度。例如:

let str = "hello world";
let result = str.substr(1, 4); // 从第二个字符开始,提取四个字符,结果为 "ello"

注意,第一个参数是子字符串的开始位置,而不是它的结束位置。如果第一个参数是负数,则表示从字符串末尾开始计数。例如:

let str = "hello world";
let result = str.substr(-3); // 从倒数第三个字符开始,直到字符串末尾,结果为 "rld"

substring() 方法

substring() 方法接受两个参数,第一个参数是子字符串的开始位置,第二个参数是子字符串的结束位置(不包含该位置的字符)。例如:

let str = "hello world";
let result = str.substring(1, 5); // 从第二个字符开始,到第五个字符之前,结果为 "ello"

注意,第一个参数必须小于第二个参数。如果参数中有负数,则会被视为 0。例如:

let str = "hello world";
let result = str.substring(-3, 4); // 等同于 str.substring(0, 4),结果为 "hell"

substr()substring() 的比较

  1. substr() 的第二个参数是子字符串的长度,而 substring() 的第二个参数是子字符串的结束位置。这意味着,substr() 可以使用负数表示从结尾开始数的位置,而 substring() 不行。

  2. 当第一个参数是相同的正数时,substr()substring() 的结果是一样的。例如:

let str = "hello world";
let result1 = str.substr(1, 4); // "ello"
let result2 = str.substring(1, 5); // "ello"

然而,当第一个参数是负数时,它们的结果是不同的。因为 substring() 将负数参数转换为 0,而 substr() 将负数参数解释为从结尾开始数的位置。例如:

let str = "hello world";
let result1 = str.substr(-3); // "rld"
let result2 = str.substring(-3); // "hello world"

因此,当需要从结尾开始提取子字符串时,应该使用 substr()

总之, substr()substring() 虽然有相似的功能,但它们的参数表达方式不同,需要根据具体情况谨慎使用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript substr和substring用法比较 - Python技术站

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

相关文章

  • JavaScript给数组添加元素的6个方法

    下面是详细讲解“JavaScript给数组添加元素的6个方法”的完整攻略。 1. 直接赋值 通过直接赋值的方式,可以给数组添加新的元素。示例如下: const arr = [1, 2, 3] // 定义一个数组 arr[3] = 4 // 直接给数组添加一个元素 console.log(arr) // [1, 2, 3, 4] 这种方式比较简单,但有一个问题…

    JavaScript 2023年5月27日
    00
  • js canvas实现擦除动画

    接下来我将详细讲解“js canvas实现擦除动画”的完整攻略。擦除动画是一种非常有趣和独特的动画效果,使用canvas API可以很容易地实现。下面是实现擦除动画的步骤: 步骤一:准备工作 首先,我们需要在HTML文件中创建一个canvas元素,以便我们能够在其上绘制任何内容。可以使用以下代码创建一个canvas元素: <canvas id=&quo…

    JavaScript 2023年6月10日
    00
  • 后缀就扩展名为js的文件是什么文件 原创

    后缀为js的文件是指JavaScript文件,JavaScript是一种基于对象和事件驱动的脚本语言,常用于网页前端编程。 在网站开发过程中,JavaScript文件被用于实现网站的交互和动态效果,比如表单验证、页面布局等。通常,JavaScript文件的文件名以.js为后缀名。JavaScript文件可以直接在HTML文件中引用,也可以在服务器端使用。 以…

    JavaScript 2023年5月27日
    00
  • JS实现的找零张数最小问题示例

    我来给你讲一下“JS实现的找零张数最小问题示例”的完整攻略。 算法思路 我们考虑使用贪心算法来解决这个问题。贪心算法的基本思路是,在每一步尽量选择最优的解决方案,直到得到全局最优解为止。我们可以按照面值从大到小的顺序,选择尽量多的面值最大的纸币,然后再逐步减小面值,直到凑够要找的钱数为止。这里需要注意的是,钞票的面值必须是能够整除较小面值的,因此需要提前将钞…

    JavaScript 2023年5月28日
    00
  • 如何编写高质量 JavaScript 代码

    如何编写高质量 JavaScript 代码 JavaScript 是一种灵活、功能强大的编程语言,但有时编写高质量的代码并不容易。下面是几个技巧和指南,可以帮助你编写更好的 JavaScript 代码。 代码结构 良好的代码结构是保持代码可读性和易于维护的关键。以下是一些实施和保持良好代码结构的方式: 使用简洁的、有意义的变量名和函数名,以及明确和一致的格式…

    JavaScript 2023年5月27日
    00
  • JavaScript实现简单的文本逐字打印效果示例

    让我来讲解一下“JavaScript实现简单的文本逐字打印效果示例”的完整攻略。 1. 思路分析 要实现文本逐字打印效果,我们首先要思考实现的思路。一种可行的思路如下: 定义一个文本框用于展示要逐字打印的文字内容。 定义一个数组,将要逐字打印的文字内容存入这个数组中。 定义一个计数器,记录已经打印的字数。 定义一个定时器,每隔一段时间(如100毫秒)输出一个…

    JavaScript 2023年5月28日
    00
  • js对象实例详解(JavaScript对象深度剖析,深度理解js对象)

    JavaScript对象实例详解 在JS中,对象是一组无序的属性和值的集合。对象可以由对象字面量语法、构造函数语法以及Object.create等方法创建。在本文中,我们将深入剖析JS对象的原理和使用方法,为JS开发者打造最全面的对象实例攻略。 1. 理解对象属性 属性种类 对象的属性包括了数据属性和访问器属性两种。 数据属性包括以下四个特性: value:…

    JavaScript 2023年5月27日
    00
  • JavaScript使用小插件实现倒计时的方法讲解

    JavaScript使用小插件实现倒计时的方法讲解 倒计时是网页中常见的功能之一,例如秒杀活动倒计时、网站上线倒计时等。在JavaScript中,我们可以通过编写小插件来实现倒计时功能。 前置知识 在编写代码之前,需要掌握以下基础知识: HTML/CSS基础 JavaScript基础 DOM操作 实现步骤 第一步:制作计时器UI 我们需要先制作一个计时器UI…

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