当前位置: 首页 > news >正文

substring() 和 slice() 这两个方法的相同与不同

在 JavaScript 里,substring() 和 slice() 这两个方法都用于从字符串里提取子字符串,它们的功能有相似之处,但也存在一些差别。

相同点

二者都能从字符串中提取子字符串,并且使用时都要传入起始索引和可选的结束索引。

不同点

  1. 参数处理
    • substring():若起始索引比结束索引大,它会自动交换这两个参数,确保提取子字符串的操作能正确进行。
    • slice():如果起始索引大于结束索引,它会返回一个空字符串。
  2. 负索引处理
    • substring():若传入负索引,它会把负索引视为 0。
    • slice():支持负索引,负索引代表从字符串末尾开始计数。

示例代码

javascript

const str = "Hello, World!";

// 使用 substring()
console.log(str.substring(7, 12)); 
console.log(str.substring(12, 7)); 

// 使用 slice()
console.log(str.slice(7, 12)); 
console.log(str.slice(12, 7)); 

// 负索引的使用
console.log(str.substring(-5, 5)); 
console.log(str.slice(-5)); 

在这个示例里,substring() 和 slice() 对不同参数的处理方式存在明显差异。当传入的起始索引和结束索引顺序颠倒时,substring() 能正确处理,而 slice() 会返回空字符串。对于负索引,substring() 会将其当作 0,slice() 则从字符串末尾开始计数。

http://www.dtcms.com/a/108398.html

相关文章:

  • Python 脚本:自动化你的日常任务
  • 【element ui】翻页记忆功能、多选时执行删除操作,刷新表格问题
  • VS+Qt配置QtXlsx库实现execl文件导入导出(全教程)
  • 自动调整PPT文本框内容:防止溢出并智能截断文本
  • Shiro学习(三):shiro整合springboot
  • 城电科技 | 探秘零碳校园:创新应用,引领绿色未来
  • PHP在Debian环境上的并发处理能力如何
  • 深度学习处理文本(6)
  • STM32实现一个简单电灯
  • 2023年12月电子学会青少年软件编程四级考级真题—新“跳7”游戏
  • OpenCV
  • 系统与网络安全------Windows系统安全(5)
  • Maya软件中的约束基础:提高角色动画制作效率的关键技术
  • 【解决】Edge浏览器硬件加速问题:无法滚动与卡顿的应对方法
  • Lumerical ------ Edge coupler design
  • Test——BUG篇
  • 掌握 Git 的艺术:Rebase 和 Merge 的使用技巧
  • MySQL 中 LOCK TABLES(手动锁表) 语句的详细说明,包括语法、使用场景、示例代码及注意事项
  • c加加学习之day02
  • ubuntu制做vsftpd的docker镜像
  • git总是链接不成功
  • Excel处理控件Spire.XLS系列教程:C# 打印 Excel 文档
  • 【算法】双指针
  • GIT ---- 解决【fatal: Authentication failed for】
  • 【案例89】达梦数据库优化器参数导致的SQL执行错误
  • 在Ubuntu20.04开发Dify插件教程,部署Dify插件脚手架
  • 深度学习 Deep Learning 第15章 表示学习
  • 针对 MySQL 数据库的详细说明,分类列出临时资源(临时表、游标、未提交事务、会话变量、预编译语句)的创建、清理方式及未清理后果,并以表格总结
  • [CH32] RISC-V汇编指令解释
  • linux下springboot项目守护进程编写