位置: 编程技术 - 正文

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

  • 应交所得税的计税依据
  • 出租人融资租赁发生的初始直接费用
  • 在建工程应交税费会计分录
  • 发票专用章盖在收据上有法律效益
  • 其他综合收益是什么类科目
  • 小规模残保金优惠政策2019
  • 法人投入投资款
  • 一次性奖金并入综合所得
  • 外地扣缴的个人所得税
  • 长期挂账其他应付款违反了哪项制度
  • 中国银行结算包括哪些内容?怎么做会计分录?
  • 经营租用的设备有哪些
  • 公司出售自用汽车如何开票
  • 个人独资企业是什么类型
  • 总资产报酬率计算举例
  • 营改增后小规模都是三个点吗
  • 信用等级D可以贷款吗
  • 福利费抵扣了进项税有2年了怎么办
  • 马克龙成就
  • 预付年金终值与普通年金终值的关系
  • 应收账款转让的会计处理
  • 计提福利费用会计分录
  • 个人独资企业还是个体户好
  • 劳务所得个税税率表
  • 小规模纳税企业所得税优惠政策
  • 增值税谁来付
  • 按产品的品种型号规格规定的计划
  • 餐饮业管理费用明细表
  • win7如何设置高级网卡功能适合玩网络游戏
  • mac鼠标移动到角落立刻显示桌面
  • 认定科技型中小企业简单吗
  • 私立医院执行什么会计准则
  • 自产货物用于销售
  • 补贴收入什么时候到账
  • 未注销的坏账可以转出吗
  • 销售返利计入什么费用
  • 二连浩特老照片
  • php redis数据类型
  • 帝国cms会员注册天数自动升级会员组
  • 预交的企业所得税需要计提吗?
  • 发票开预付卡充值可以计入费用吗
  • 企业投资收益要交增值税吗
  • 个税出现负数是什么意思
  • 个税代扣代缴需要什么
  • 省市县三级联动工作机制
  • 劳务费发票是个人的吗
  • 小规模未达起征点申报表怎么填
  • 纯加工企业账务处理
  • 有哪些情况可以用别人的id
  • 凭证类别的种类及限制条件
  • 去年的分红奖金是多少
  • 结构性存款是什么存款
  • 建筑劳务公司的会计账务处理
  • 毁损的原材料怎么处理
  • 发生的费用
  • 固定资产折旧方法不考虑净残值
  • 长期股权投资成本法会计处理
  • 盈余和利润是不是一个概念
  • 怎么从会计小白做到总账会计
  • sql-3
  • sql server 2019自定义安装教程
  • macos 修改mac
  • fedora最新版本
  • ubuntu下安装win10
  • linux 系统查看
  • win1020h2正式版
  • kcleaner是什么文件夹
  • win10更新系统遇到错误
  • win10内置杀毒
  • win8没有开始菜单 点键盘开始菜单黑屏
  • cocos2dx内存管理
  • nodejs stdin
  • angular.js
  • Cocos2dx3.2 CrazyTetris 物理引擎使用初步
  • python代码视频
  • shell脚本遍历
  • JavaScript中的变量名不区分大小写
  • javascript操作网页
  • 北京第六税务所电话号码
  • 地税局和税务局有什么区别
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设