位置: 编程技术 - 正文

深入浅析JavaScript字符串操作方法 slice、substr、substring及其IE兼容性(java script)

编辑:rootadmin

推荐整理分享深入浅析JavaScript字符串操作方法 slice、substr、substring及其IE兼容性(java script),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascrip的特点有哪些?,javasripe,java scripts,javascripvoid,javascrip的特点有哪些?,javascripvoid,深入浅析是什么意思,javascripvoid,内容如对您有帮助,希望把文章链接给更多的朋友!

在截取字符串时常常会用到substr()、substring()、slice()方法,有时混淆之间的用法,故总结下。

阅读目录&#;slice()&#;substring()&#;substr()&#;总结

slice()

定义:接受一个或者两个参数,第一个参数指定子字符串的开始位置。第二个参数表示子字符串的结束位置(不包括结束位置的那个字符),如果没有传递第二个参数,则将字符串的长度作为结束位置。

1、传递参数为正值情况:

2、传递参数为负值的情况:

3、第二个参数比第一个参数值小的情况:

slice()方法传入的第二个参数比第一个参数小的话,则返回空字符串。

4、IE兼容性

在IE8浏览器测试下,没啥问题,行为与现代浏览器一致。

substring()

定义:接受一个或者两个参数,第一个参数指定子字符串的开始位置。第二个参数表示子字符串的结束位置(不包括结束位置的那个字符),如果没有传递第二个参数,则将字符串的长度作为结束位置。

1、传递参数为正值情况:与slice()方法行为相同的

2、传递参数为负值的情况:

substring()方法会把所有负值参数转换为0。来看下例子:

substring()方法会将较小的数作为开始位置,将较大的数作为结束位置。如上面的例子substring(3,0) 与substring(0,3)是一样效果的。

4、IE兼容性

深入浅析JavaScript字符串操作方法 slice、substr、substring及其IE兼容性(java script)

在IE8浏览器测试下,没啥问题,行为与现代浏览器一致。

substr()

定义:接受一个或者两个参数,第一个参数指定子字符串的开始位置。第二个参数跟之前的方法有些区别,表示返回的字符个数。如果没有传递第二个参数,则将字符串的长度作为结束位置。来看例子:

1、传递参数为正值情况:

2、传递参数为负值的情况:

substr()方法会将负的第一个参数加上字符串的长度,而将负的第二个参数转换为0。

3、IE兼容性

substr()方法传递负值的情况下会存在问题,会返回原始的字符串。IE9修复了此问题。

总结

在传递正值参数情况下,slice() 和 substring () 行为是一致的,substr()方法在第二个参数上会容易混淆

在传递负值参数情况下,slice() 方法是通过字符串长度相加,符合一般思维,substring()第二个参数转换为0会容易出问题,起始位置会容易变更,substr() 方法负值情况下会出现IE兼容性问题。

综上,小弟一般推荐使用slice()方法。

下面给大家介绍slice,substr和substring的区别

首先,他们都接收两个参数,slice和substring接收的是起始位置和结束位置(不包括结束位置),而substr接收的则是起始位置和所要返回的字符串长度。直接看下面例子:

这里有个需要注意的地方就是:substring是以两个参数中较小一个作为起始位置,较大的参数作为结束位置。

如:

接着,当接收的参数是负数时,slice会将它字符串的长度与对应的负数相加,结果作为参数;substr则仅仅是将第一个参数与字符串长度相加后的结果作为第一个参数;substring则干脆将负参数都直接转换为0。测试代码如下:

注意:IE对substr接收负值的处理有错,它会返回原始字符串。

javascript针对不确定函数的执行方法 本文实例分析了javascript针对不确定函数的执行方法。分享给大家供大家参考,具体如下:在javascript中,有时候只知道一个函数的名字,但并不确定该函

Perl Substr()函数及函数的应用 perlsubstr()函数例子,substr()函数实例代码-返回EXPR的子字符串,起始是为字符串内的偏移量OFFSET。语法:substrEXPR,OFFSET,LEN,REPLACEMENTsubstrEXPR,OFFSET,LENsubstrEXPR

javascript数组克隆简单实现方法 本文实例讲述了javascript数组克隆简单实现方法。分享给大家供大家参考,具体如下:htmlheadmetahttp-equiv="Content-Type"content="text/html;charset=gb"title新建网页

标签: java script

本文链接地址:https://www.jiuchutong.com/biancheng/387145.html 转载请保留说明!

上一篇:js如何判断输入字符串长度(js如何判断输入输出)

下一篇:javascript针对不确定函数的执行方法(js方法不执行)

  • 国家税务总局操作指引
  • 福利费专票进项怎么抵扣
  • 增值税是什么意思
  • 公司卖东西怎么开票
  • 增值税销项抵扣报税后有效期是多长时间
  • 营改增的增值税
  • 异常增值税扣税凭证
  • 权益性投资收益的账务处理
  • 建筑施工企业质量体系环境包括
  • 什么是前期差错
  • 发票跨月还能重开吗
  • 税控技术服务
  • 年终奖个税筹划临界点
  • 电器以旧换新的套路
  • 销售不动产预收款纳税义务发生时间
  • 承兑汇票延期托收证明
  • 物流公司转包出售合法吗
  • 包工包料的工程怎么做账
  • 小规模10万以下免税分录
  • 我公司以房产土地为主
  • 极路由好用吗
  • win11多开
  • 预收账款什么时候确认
  • win10关闭自动更新方法永久
  • elementui常用组件
  • PHP:curl_pause()的用法_cURL函数
  • 营业外收入账户贷方登记企业发生的各项营业外收入
  • 土地使用税怎么交税
  • linux 文件修改
  • To install them, you can run: npm install --save core-js/modules/es.array.push.js
  • 不确认收入的是
  • 材料暂估入库如何处理
  • Vite + Vue3 +Vant4构建项目时,按需引入使用Toast组件,引用 showToast 时出现编译报错的解决方案
  • php是面向对象语言吗
  • 公司向股东借款多久必须归还
  • 出售生产设备的会计分录
  • 残保金怎么计算公式
  • 住宿费电子发票没有章
  • 微信小程序父子通信
  • 不是吧阿sir表情包
  • 银行的抵债资产会过到银行名下吗
  • 公司的注册资本是什么意思
  • 购入固定资产的会计科目
  • 劳务费发票 个税
  • C++ 使用dll路径不在当前路径时如何调用
  • python分割语句
  • mongodb基础知识
  • 光伏发电计费问题
  • 低值易耗品意思
  • 筹建期间发生的长期借款利息费用计入财务费用
  • 应收款项减值的备抵法及其会计处理
  • 以前年度损益调整会计分录
  • OBJECTPROPERTY与sp_rename更改对象名称的介绍
  • win10开始按钮点不动
  • ktpcntr.exe
  • linux双网卡双ip配置
  • VMware Workstation虚拟机网络连接不可用
  • 横版格斗rpg手游
  • Extjs ajax同步请求时post方式参数发送方式
  • 浅谈jquery中ajax跨域提交的时候会有2次请求的问题
  • 苹果手机如何给视频添加字幕
  • shell切分
  • 在文本输入框中的输入内容是
  • ie8兼容性模式设置在哪
  • node 微信公众号开发
  • node vm模块
  • 通过短信发送费用可能会收取运营商费用
  • unity更新需要重新下载吗
  • mac打开多个窗口
  • bootstrap js插件
  • 安卓 自动更新
  • jquery.validator
  • jQuery基本选择器总结
  • python中创建自定义函数
  • 国家税务总局令第43号公告
  • 湖北税务登记办理流程和方法
  • 怎么查询高速路封闭和开通
  • 我国土地资源总量丰富人均不足
  • 12月份医保没有到账
  • 房屋租赁管理部门制发的《房屋租赁证》
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设