JS 截取字符串substr 和 substring方法的区别

yizhihongxing

首先我们先来讲一下substr和substring的共同点,它们都是用来截取字符串的方法,所不同的是它们的参数和使用方法略有不同。

substr方法

substr方法接受两个参数,第一个参数是起始位置,第二个参数是截取的字符串长度。如果第二个参数是负数,则表示从起始位置开始往后数n个字符,并截取到字符串结束的位置。如果第一个参数是负数,表示从字符串末尾开始往前数的位置。

下面是一个使用substr方法截取字符串的示例:

const str = "abcdefghijk";
const subStr = str.substr(2, 5);
console.log(subStr); // "cdefg"

在上面的例子中,substr方法从字符串的第三个字符开始(即下标为2的位置),截取了5个字符。因此,subStr的值为"cdefg"。

substring方法

substring方法也接受两个参数,第一个参数是起始位置,第二个参数是截取字符串的结束位置(不包括该位置的字符)。如果参数是负数,则它会被当做0来处理。如果第一个参数大于第二个参数,则它们会被互换位置。

下面是一个使用substring方法截取字符串的示例:

const str = "abcdefghijk";
const subStr = str.substring(2,5);
console.log(subStr); // "cde"

在上面的例子中,substring方法从字符串的第三个字符开始(即下标为2的位置),截取到第六个字符(即下标为5的位置),但不包括第六个字符。因此,subStr的值为"cde"。

区别

现在回到题目所问的区别上来。其实,substrsubstring的区别就在于第二个参数的不同:

  • substr方法的第二个参数表示截取的字符串长度,而不是结束位置。
  • substring方法的第二个参数表示截取字符串的结束位置(不包括该位置的字符)。

因此,在实际编程中,我们需要根据具体的需求来选择使用哪个方法。如果我们需要截取的字符串长度已知,那么使用substr,如果我们需要根据结束位置来截取字符串,那么就使用substring

下面是一个进一步说明区别的例子:

const str = "abcdefghijk";
const substringStr = str.substring(2,5);
const substrStr = str.substr(2, 5);
console.log(substringStr); // "cde"
console.log(substrStr); // "cdefg"

在上面的例子中,我们分别使用substringsubstr方法截取了同一个字符串,但结果却不同。substring方法从第三个字符开始,一直截取到第六个字符,但不包括第六个字符。而substr方法则是从第三个字符开始,一直向后截取了5个字符,因此结果包括了第六个字符。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS 截取字符串substr 和 substring方法的区别 - Python技术站

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

相关文章

  • javascript学习随笔(编写浏览器脚本 Navigator Scripting )

    JavaScript学习随笔(编写浏览器脚本 Navigator Scripting) 概述 Navigator对象在JavaScript中提供了许多有用的属性和方法,可以用于检测和操作浏览器。 在编写浏览器脚本时,Navigator对象的知识非常重要。 Navigator对象中的属性和方法 Navigator对象的属性 navigator.appCodeN…

    JavaScript 2023年5月27日
    00
  • js 实现验证码输入框示例详解

    对于“js 实现验证码输入框示例详解”的完整攻略,我将按以下步骤进行讲解: 1. 需求分析 对于验证码输入框,我们主要是需要实现以下一些需求: 随机生成一串数字或字母用于显示图片验证码 验证码可以点击图片或按钮刷新 输入框需要校验验证码是否正确 2. 实现思路 在分析了需求之后,我们可以按照以下思路来实现: 生成随机验证码内容(数字、字母或数字字母组合),并…

    JavaScript 2023年6月10日
    00
  • 2020年12道高频JavaScript手写面试题及答案

    下面我来详细讲解一下“2020年12道高频JavaScript手写面试题及答案”的完整攻略。 一、背景介绍 该文章主要介绍了2020年12道高频JavaScript手写面试题及答案,这些面试题具有一定难度,涵盖了JavaScript的各种基本知识点,例如执行上下文、this指针、原型链等。 二、攻略流程 该文章可以按照以下流程来进行攻略: 先了解每个面试题的…

    JavaScript 2023年6月10日
    00
  • JS实现视频弹幕效果

    下面是 JS 实现视频弹幕效果的完整攻略: 准备工作 首先,我们需要准备好以下两个文件:- 视频文件- 弹幕 JSON 文件 其中,弹幕 JSON 文件应该包含以下字段:- text:弹幕文本内容- time:弹幕出现时间,单位为秒- color:弹幕颜色,可以是颜色代码或颜色名称 实现步骤 在 HTML 中添加视频和画布元素 在 HTML 中添加一个 vi…

    JavaScript 2023年6月10日
    00
  • JavaScript实现随机点名小程序

    下面是JavaScript实现随机点名小程序的完整攻略: 确定需求 在实现随机点名小程序之前,需要确定具体的需求。本程序的功能主要是:随机从一组学生名单中选中一位学生,并将该学生的名字展示出来。在此基础上,还可以加入更多的功能,比如记录已经点名的学生,排除已经点名的学生,或者在每次点名之后自动刷新学生名单等等。 准备工作 在编写代码之前,需要准备好页面的布局…

    JavaScript 2023年6月11日
    00
  • 9个让JavaScript调试更简单的Console命令

    9个让JavaScript调试更简单的Console命令 在日常的JavaScript开发过程中,我们经常需要进行调试。而控制台(Console)是我们不可或缺的调试工具之一。在Chrome浏览器中,Console提供了许多有用的命令,下面将介绍9个让JavaScript调试更简单的Console命令。 log() 用来在控制台输出信息,是开发中最常用的调试…

    JavaScript 2023年5月28日
    00
  • IE与FF下javascript获取网页及窗口大小的区别详解

    标题 概述 在不同的浏览器中,JavaScript获取网页及窗口大小的方法是不同的。本文将详细讲解在IE和FF浏览器中如何获取网页及窗口大小的区别,并提供使用示例。 获取网页大小 IE浏览器 IE浏览器中获取网页大小可以使用document.documentElement.offsetHeight和document.documentElement.offse…

    JavaScript 2023年6月11日
    00
  • js replace替换所有匹配的字符串

    下面是详细讲解JS中使用replace()方法替换所有匹配字符串的攻略: 1. replace()方法简介 JavaScript中的replace()方法是一个字符串方法,它用来在字符串中查找子字符串并用新字符串替换它,返回一个新的字符串。replace()方法可以替换字符串中的第一个匹配项,也可以替换所有匹配项。replace()方法有两个参数:第一个参数…

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