位置: 编程技术 - 正文

深入浅析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方法不执行)

  • 房地产企业增值税计算
  • 哪些收据可以入帐
  • 房产税城镇土地使用税税率
  • 投资者投入固定资产的合同或协议约定
  • 项目税后现金流量的计算方法
  • 月初领票后还能作废申报吗
  • 专项附加扣除项目的6项具体规定有哪些
  • 销售货物代垫的运费发生的增值税
  • 不动产进项税额分两年抵扣
  • 开红字发票如何调整收入?
  • 通讯费可以抵扣进项税吗
  • 银行卡收单机构外包业务管理指引
  • 发票抬头写错了还能报销吗
  • 水利建设基金有优惠政策吗
  • 合同签了发票开了钱没给怎么办
  • 结转贸易方式
  • 卖桶装水税率
  • 支付的租金计入什么会计科目
  • 本年利润年末怎么结转到利润分配
  • 公司参展费取得发票怎样做账?
  • 法院的诉讼费和保全费怎么算
  • 一般纳税人企业所得税税率多少
  • 做内账收入含税吗
  • 事业单位净资产怎么计算?净资产怎么算
  • 王者荣耀通用铭文狩猎和隐匿
  • 库存商品入库的会计科目
  • win11多任务怎么用
  • 销售设备并提供安装服务增值税税率
  • 清除文件夹exe病毒工具
  • php判断为空的方法有哪些
  • php array_splice
  • 代扣代缴个人工会经费 企业所得税
  • 会计账簿的登记
  • 进出口企业税务怎可以查出问题
  • php转换成html
  • 一次性扣除固定资产汇算清缴
  • 长期借款业务会亏损吗
  • php读取mysql
  • VUE3.2 + vue-echarts + DataV 数据可视化大屏(项目)
  • spring5和6差别大吗
  • 增值税进项税抵扣凭证
  • 劳务费800以上扣税标准
  • 费用在发生时确认而不考虑支付费用
  • 资产报废的原因及情况说明
  • 企业所得税该什么科目
  • 适用税率9%的征税行为有
  • 购置环保设备一次性扣除
  • 出资入股是什么意思
  • 利润总额包括什么项目
  • 没有计提坏账如何做账
  • 搬迁赔偿款
  • 销售产品的软件平台
  • 公司物资借用手续
  • 营改增后服务业账务处理
  • 出租固定资产的折旧计入哪个科目
  • 留抵税额在账上没有,怎么办
  • 管理费用中的水电费怎么记账
  • 会计往来账如何记账
  • 为什么要计提工资附加费
  • 介绍一种新产品
  • linux系统怎样安装
  • win10系统便签突然无法打开
  • win10打开软件时卡住
  • zzs.exe是病毒吗
  • tracert命令的功能和用法
  • 蓝屏错误疑难解答win7
  • win7更改ip地址后有网络无法上网
  • opengl配置vc6.0
  • vue动态引入模块
  • linux 编译
  • javascript获取当前文件夹文件数量
  • 动态生成类对象
  • jquery通过属性值获取元素
  • 美股印花税如何收取
  • 民间非营利组织包括哪些单位
  • 建筑企业个人所得税管理办法
  • 小规模纳税人营业额
  • 江苏宿迁个体户那个园区好
  • 高新企业公布
  • 公司欠税款,还不上,怎么办
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设