深入理解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 调用 ActionScript 的简单方法

    要在 JavaScript 中调用 ActionScript,可以借助 Adobe Flash 中提供的 ExternalInterface 类,该类的作用是为 ActionScript 提供一种在 Flash Player 中嵌入 JavaScript 代码的通信桥梁,使得 JavaScript 可以调用 ActionScript 中的函数或方法。 以下是…

    JavaScript 2023年5月27日
    00
  • Javascript获取当前日期的农历日期代码

    获取当前日期的农历日期是一个常见的操作,下面是使用JavaScript实现的简要攻略: 步骤一:引入相关的JavaScript库 为了实现农历日期的获取,需要使用一些现成的JavaScript库,比如:lunar-calendar-js。通过在HTML中引入这个库,可以在JavaScript中使用它提供的方法来进行日期的转换。 代码示例: <!DOCT…

    JavaScript 2023年5月27日
    00
  • JS简单实现登陆验证附效果图

    下面是“JS简单实现登陆验证附效果图”的完整攻略: 1. 确定页面布局 首先需要确定页面布局,包含输入框、登陆按钮等元素。例如,可以使用下面的 HTML 代码: <!– 页面布局 –> <form id="login-form"> <label for="username">用户…

    JavaScript 2023年6月10日
    00
  • JavaScript中的类数组对象介绍

    JavaScript中的类数组对象介绍 在JavaScript中,除了数组对象以外,还存在一些类数组对象。这些对象具有类似于数组的结构和特性,但是却不是真正的数组。理解这些对象的特点和用途可以帮助我们更好的处理和操作数据。 类数组对象的定义和特点 类数组对象是指具有数组结构和特性,但是不是真正的数组,无法使用数组的方法,例如push、pop、shift、un…

    JavaScript 2023年5月27日
    00
  • JavaScript 拖拽实现(附注释),最经典简单短小精悍!

    以下是JavaScript拖拽实现的详细攻略: 概述 拖拽实现是网页中常见的交互效果,它的实现原理是借助JavaScript事件和DOM操作。本文将带您全面了解JavaScript拖拽的实现方法。 基本原理 拖拽实现的基本原理如下: 给需要拖拽的元素绑定mousedown事件。 鼠标按下时,记录鼠标相对元素位置,并给document绑定mousemove和m…

    JavaScript 2023年6月11日
    00
  • 如何用javascript控制上传文件的大小

    当我们需要上传文件时,通常需要限制文件大小以确保上传的文件尺寸在合理范围内。在javascript中,我们可以使用以下方法来控制上传文件的大小。 1. 使用input元素限制文件大小 在HTML中,我们可以使用input元素来处理文件上传。如果我们将input元素的type属性设置为file类型,则该元素将允许用户选择本地计算机上的文件,并在提交提交表单时将…

    JavaScript 2023年5月27日
    00
  • JavaScript版DateAdd和DateDiff函数代码

    下面是详细讲解“JavaScript版DateAdd和DateDiff函数代码”的完整攻略: 一、概述 在Web开发中,常常需要对日期进行操作。但是JavaScript原生的Date对象提供的方法较少,因此我们可以自己编写DateAdd和DateDiff函数来方便地进行日期计算。 DateAdd函数用于计算某个日期加上一定时间单位后的日期值,而DateDif…

    JavaScript 2023年5月27日
    00
  • JavaScript Event事件学习第一章 Event介绍

    JavaScript Event事件学习第一章 Event介绍 什么是Event? Event(事件)是指在HTML文档中发生的交互性质的动作,例如单击某个元素、按下键盘上的某个键以及页面的滚动等。在JavaScript中,Event被认为是一种用户活动,它可以被捕获,处理和响应。 Event包含哪些信息? 当Event发生时,会携带一个Event对象,其中…

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