关于substring和slice

关于substring和slice

1.substring(a,b)中的a为负数也可以执行。

'abcde'.substring(-9999,2) //=> 'ab'

2.slice(a,b),b为-1时

'abcde'.slice(3,-1) //=> 'd'

但只有-1可以,其他值的负数会返回空


正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好, “李泽双木林”这位同学解释的很棒,老师非常鼓励同学们在问答区交流学习经验,共同进步哦,

祝学习愉快~

聚变路上你与共 2020-11-18 17:23:24

​JS属于弱语法语言

  1. substring(a,b)中的a为负数也可以执行。

'abcde'.substring(-9999,2) //=> 'ab'

个人理解:由于substring()规定了不允许进行逆向截取字符串(也就是不允许使用负索引值),所以第一个参数只要出现负数情况都可理解成值为0。

2.slice(a,b),b为-1时

'abcde'.slice(3,-1) //=> 'd'

个人理解:slice(a,b)中要求a必须小于b,但因为其进行逆向截取字符串。所以可以确切的说成是索引值a对应的位置必须在索引值b之前。

李泽双木林 2020-11-16 23:46:10
'abcde'.substring(-9999,2) //=> 'ab'

因为-9999,代表从第负的9999位开始,一直到第二位,不包括第二位,a-》0,b-》1,c-》2

所以是从最前面开始一直到b,得到ab


'abcde'.slice(3,-1) //=> 'd'

-1代表的是倒数第一位,所以是从第三位到倒数第一位,e-》-1,d->3

得到 d

  • 提问者 昏睡红茶厘米 #1
    唔,我的意思是,视频里,这一节说substring(a,b) a不能为负,但实际上是可以为负的。slice(a,b)中a必须小于b,但实际上b是可以大于a的
    2020-11-17 00:58:22
  • 提问者 昏睡红茶厘米 #2
    感谢你的回答,之前对a,b这两个参数的规则有点不理解,疑惑终于想通了。
    2020-11-17 01:09:12
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师