浅析js中substring和substr的方法

浅析JS中substring和substr的方法

在JavaScript中, substringsubstr 是两个常用的字符串方法,用于截取字符串的一部分并返回。但是它们的不同之处在于它们的使用方式和截取字符串的方式。下面我们来浅析一下它们的使用方法及区别。

一、substring方法

1.1 方法定义

substring(startIndex, endIndex) 方法用于提取字符串中介于两个指定下标之间的字符。

1.2 参数说明

其参数 startIndexendIndex 分别是两个用于指定子字符串的下标,返回的子字符串包括 startIndex 位置的字符,但不包括 endIndex 位置的字符。

1.3 示例说明

let s = 'hello world';
let sub1 = s.substring(0, 5);   // 返回字符串 'hello'
let sub2 = s.substring(6);      // 返回字符串 'world'

在上面的示例中,我们先定义了一个字符串 s,然后使用 substring 方法截取出了 s 中的两个子字符串。其中,第一个子字符串的起始下标是 0,结束下标是 5,返回字符串 hello;第二个子字符串的起始下标是 6,没有指定结束下标,因此会一直截取到字符串结束,返回字符串 world

二、substr方法

2.1 方法定义

substr(startIndex, length) 方法用于从字符串中提取从指定位置开始的指定长度的字符。

2.2 参数说明

其参数 startIndex 是一个用于指定子字符串的开始下标,length 是一个可选参数,用于指定子字符串的长度。如果省略 length 参数,则子字符串会一直截取到字符串结束。

2.3 示例说明

let s = 'hello world';
let sub1 = s.substr(0, 5);     // 返回字符串 'hello'
let sub2 = s.substr(6);        // 返回字符串 'world'

在上面的示例中,我们先定义了一个字符串 s,然后使用 substr 方法截取了两个子字符串。其中,第一个子字符串的起始下标是 0,长度是 5,返回字符串 hello;第二个子字符串的起始下标是 6,没有指定长度参数,因此会一直截取到字符串结束,返回字符串 world

三、两种方法的异同

在使用 substringsubstr 方法时,需要注意到它们有一些区别:

  • 参数个数不同:substring 方法需要传入两个参数,分别是 startIndexendIndex,而 substr 方法只需要传入 startIndex 和 length 两个参数,其中 length 为可选参数。

  • 两个参数含义不同:substring 方法的第二个参数代表的是截取子字符串的结束下标,而 substr 方法的第二个参数则代表的是截取的字符串长度。

  • 参数负数处理不同:substring 方法对于负数参数会自动转为0,而 substr 方法则会将负数参数加上字符串的长度后再进行截取。

四、总结

在实际开发中,我们可以根据需要选择使用 substringsubstr 方法,它们的区别虽然不大,但应用场景有所不同,根据业务需要选择正确的方法是很重要的。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:浅析js中substring和substr的方法 - Python技术站

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

相关文章

  • javascript去掉代码里面的注释

    下面是“JavaScript去掉代码里面的注释”的完整攻略: 步骤一:复制代码 首先,需要将所要去除注释的JavaScript代码复制到一个新的文本文件中。可以使用文本编辑器完成该步骤。 步骤二:使用正则表达式去除注释 在新的文本文件中,我们可以使用正则表达式(Regular Expression)去除代码里面的注释。以下是基于正则表达式的两个示例: 示例一…

    JavaScript 2023年6月11日
    00
  • 一文教会你提高Javascript代码效率的技巧

    一文教会你提高JavaScript代码效率的技巧 介绍 本篇文章将会介绍一些提高JavaScript代码效率的技巧。如果您已经熟悉了JavaScript基础语法并开发过一些JavaScript应用,那么了解更多关于如何提高代码效率的方法应该是您进一步提升技能的重要步骤。 技巧一:避免不必要的循环 如果你在应用程序中使用循环语句,那么要尽可能避免在不必要的场景…

    JavaScript 2023年5月28日
    00
  • JS简单判断函数是否存在的方法

    当我们在编写JavaScript代码时,经常需要判断一个函数是否存在,以避免意外的“未定义”错误。以下是几种判断JavaScript函数是否存在的方法: 1. typeof typeof 运算符可以返回一个值的数据类型。如果一个变量的数据类型是函数,它的返回值将是 “function”。因此,我们可以使用 typeof 来判断一个函数是否存在: if (ty…

    JavaScript 2023年5月27日
    00
  • 利用jsonp跨域调用百度js实现搜索框智能提示

    利用 JSONP 跨域调用百度 JS 实现搜索框智能提示是一个常见的前端开发技巧。本篇攻略将详细讲解 JSONP 的使用步骤以及相应的注意事项。 一、JSONP 的基础知识 JSONP(JSON with Padding)是一种跨域技术,它利用了 script 标签的跨域特性来实现。通常情况下,我们在同源代码中无法通过 AJAX 请求一个跨域的 API,这时…

    JavaScript 2023年5月27日
    00
  • JavaScript小技巧 2.5 则

    完整攻略如下: JavaScript小技巧 2.5则 简介 这是第二篇JavaScript小技巧的第五则,本篇攻略将详细讲解如何利用JavaScript小技巧来提高开发效率和代码的可读性。 正文 小技巧1:使用数组解构赋值获取函数的多个返回值 在JavaScript中,函数可以有多个返回值,如果我们需要获取这些返回值并分别进行操作,那么可以使用数组解构赋值来…

    JavaScript 2023年5月27日
    00
  • 延时加载JavaScript代码提高速度

    延时加载(Delayed Loading)也称为懒加载(Lazy Loading),是一种优化策略,可以提高网站的性能和用户体验。懒加载的核心思想是将网站上的资源尽可能地延迟加载,只有在需要时再去加载,这样可以减少页面的加载时间,缩短用户等待时间,提高用户体验。 在JavaScript代码上,可以通过一些技术来实现延时加载,这里介绍两种常用的方法: 1. 通…

    JavaScript 2023年6月11日
    00
  • JS 拦截全局ajax请求实例解析

    让我来给大家详细讲解一下“JS 拦截全局ajax请求实例解析”的完整攻略。 什么是全局ajax请求 全局ajax请求指在整个页面中,所有发起ajax请求的位置都被拦截并进行处理。这就需要对ajax进行拦截和处理控制,这样可以更好地控制页面数据请求。 为什么要拦截全局ajax请求 拦截全局ajax请求可以实现以下目的: 统一处理数据请求,便于管理和维护。 能够…

    JavaScript 2023年6月11日
    00
  • JavaScript的兼容性与调试技巧

    一、JavaScript的兼容性 在编写JavaScript代码时,我们需要考虑不同浏览器的兼容性。不同的浏览器可能会对同一个JavaScript代码有不同的解析方式,从而导致代码在某些浏览器中无法正常运行。为了解决这个问题,我们需要做一些兼容性处理。 使用polyfill库 Polyfill是一个用于实现浏览器尚未原生支持的Web API的脚本。通过使用P…

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