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 五大常见函数

    JavaScript 五大常见函数 在 JavaScript 编程中,有五大常见函数,它们分别是:parseInt()、parseFloat()、isNaN()、toFixed() 和 toString()。下面我们将结合代码示例来详细讲解这五大常见函数。 parseInt() parseInt() 方法将一个字符串进行解析,返回整数值。 // 示例1 le…

    JavaScript 2023年5月18日
    00
  • js获得指定控件输入光标的坐标兼容IE,Chrome,火狐等多种主流浏览器

    要获得指定控件输入光标的坐标,我们可以使用以下步骤: 获取页面中的指定控件对象 获取控件对象相对于页面左上角的位置 获取控件中光标的位置 将相对位置和光标位置相加,计算出光标在页面中的实际位置 以下是具体的实现步骤: 1.获取页面中的指定控件对象 我们可以使用document.getElementById方法获取指定id值的控件对象。例如,我们要获取id为t…

    JavaScript 2023年6月10日
    00
  • JS加载解析Markdown文档过程详解

    以下是详细的攻略,在此过程中,假设使用的是原生JS,没有使用任何外部库: 1. 获取Markdown文档内容 要加载Markdown文档,我们首先需要获取文件内容。可以使用XMLHttpRequest对象进行同步或异步的文件读取。这里我们以异步的方式读取Markdown文件。 function loadMarkdownFile(url, callback) …

    JavaScript 2023年5月27日
    00
  • JavaScript中return false的用法

    JavaScript中return false的用法是一个非常基础的知识点,它主要用于阻止默认行为或事件冒泡,下面就详细讲解一下return false的使用方法。 一、阻止默认行为 我们首先要了解的是,当我们在网页中点击一个超链接或提交表单时,浏览器会自动执行默认行为,即跳转页面或提交表单。这时我们可以通过JavaScript来阻止默认行为的发生,具体方法…

    JavaScript 2023年5月28日
    00
  • Javascript 跨域访问解决方案

    对于Javascript跨域访问解决方案,有以下几个解决办法: JSONP JSONP (JSON with padding)是一种解决跨域访问的方式,它实现跨域访问的技术手段是通过动态创建 标签,通过网络请求获取数据,然后通过回调函数(callback)的方式将数据返回到当前页面中。 示例一: 假设我们有一个需要访问的接口地址为:http://www.te…

    JavaScript 2023年6月11日
    00
  • python中altair可视化库实例用法

    下面是“python中altair可视化库实例用法”的完整攻略: 1. Altair 库简介 Altair 是一个基于 Python 的声明式可视化库,用于创建交互式可视化图表。 声明式语法是指你通过直接描述所需图表的方式来创建它们,而无需编写细节代码。 Altair 是对 Vega-Lite 的 Python 封装,Vega-Lite 是基于 Vega 开…

    JavaScript 2023年5月28日
    00
  • JavaScript流程控制(分支)

    好的!首先,让我们先确定一下“JavaScript流程控制(分支)”的范畴。在JavaScript中,流程控制主要有三种,分别是分支结构、循环结构和跳转结构。而“JavaScript流程控制(分支)”指的是通过条件判断,执行不同代码路径的流程控制方式。 在JavaScript中,常用的条件判断有if…else和switch两种。下面我们将介绍这两种方法的…

    JavaScript 2023年5月27日
    00
  • JavaScript Date对象 日期获取函数

    JavaScript Date对象是处理日期和时间的首选方式之一。Date对象的实例从内部保存为UTC格式的整数,它代表1970年1月1日UTC(协调世界时)午夜至当前日期时间间的毫秒数。Date对象提供了许多方法来获取日期,包括年、月、日、小时、分钟和秒等。下面是Date对象日期获取函数的完整攻略: 1. 获取完整日期时间 使用Date对象的toStrin…

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