JavaScript:在JS中截取字符串的⽅法
  这篇主要说⼀说截取字符串的⽅法,⽤于帮助⾃⼰缕清⽅法的作⽤,参数的意义,返回值,是否对于原来的字符串进⾏了操作等。
  在javascript中,常见的截取字符串的⽅法有slice()、substring()、substr()这三种⽅法,我主要为了捋清楚这三种⽅法的相同点与不同点,在什么情况下适⽤于哪⼀种。优雅的代码都是从⼀点⼀滴开始的。
  slice()
    ⾸先,我在百度上⾯搜索了⼀下slice()⽅法,给出的链接是Javascript Array对象的 slice()⽅法,是对数组的操作。作⽤是从已有的数组中返回选定的元素,返回值是⼀个数组,并且不会对原先的数组产⽣影响。
    然后我有上了W3schoole查slice()⽅法,到了Javascript String 对象的slice()⽅法。⽤于提取字符串的⽚段,并在新的字符串中返回被提取的部分。返回值是⼀个字符串,并且不会对原先的字符串产⽣影响。
    虽然作⽤对像不⼀样,但是我个⼈觉得是⼀个东西。都是从原先对象⾥⾯截取出来新的东西,并且不对原先的对象有操作,返回值是根据原先的对象的类型来决定的。
    slice()有两个参数,第⼀个参数可以为需要截取的起始点,第⼆个参数可以为截取结束的点。如果第⼆个参数不传输的画,默认情况下会截取到当前对象的最后。
    代码⽰例: 
      JavaScript Array   
<script type="text/javascript">
var zhanShi = ["冲锋","断筋","巨⼈打击","压制","斩杀"];
console.log(zhanShi);
console.log(zhanShi.slice(1,2));
console.log(zhanShi.slice(1));
</script>
    下⾯是这段代码在⾕歌浏览器上⾯显⽰的结果:
    JavaScript  String
<script type="text/javascript">
var wuqiZhan = "我叫武器战,打架开电扇。CD⼀分半,转完就完蛋。";
console.log(wuqiZhan);
字符串截取方式console.log(wuqiZhan.slice(2,5));
console.log(wuqiZhan.slice(6));
</script>
    下⾯是这段代码在⾕歌浏览器上⾯显⽰的结果:
    当然,我们现在传输的都是正数,我闲的⽆聊,然后我就给传了负数当作参数:
<script type="text/javascript">
var str = "所以说很⽆奈";
console.log(str.slice(-3));
var arr = ["你看","传了","负数"];
console.log(arr.slice(-2));
</script>
  substring() 
    substring()是⽤于提取字符串中介于两个指定下标之间的字符,两个参数,其中第⼀个参数是必须的,第⼆个参数是可选的。如果不传第⼆个参数,默认情况下会提取到最后。返回值是⼀个新的字符串。准确的说,返回的额字符串包含了第⼀个参数位置的字符串,⽽不包含第⼆个参数位置的元素。
    上代码,其他都是空谈,看了代码就明⽩了:
<script type="text/javascript">
var bingFa = "寒冰箭呀biubiubiu,五个冰刺⼀发脑残箭";
console.log(bingFa.substring(4,13));
</script>
    slice可以传负数,substring可不可以呢?不可以!明确的告诉你不可义,但是却不会报错,只会把整个字符串都输出出来。可是,如果你给前⾯的参数传输的⽐较⼤,后⾯的参数⽐较⼩,那样会出现什么
情况呢?
<script type="text/javascript">
var bingFa = "寒冰箭呀biubiubiu,五个冰刺⼀发脑残箭";
console.log(bingFa.substring(13,4));
</script>
看的出来,即使你把前⾯的参数传输的⽐后⾯的参数⼤,但是substring会⾃动的调整两个参数的位置,也就是⼤的参数总是在后⾯。
  substr()
    substr()⽤于在字符串中从第⼀个参数位置起,截取到第⼆个指定的参数。其中第⼀个参数是必须的,
第⼆个参数是可选的。如果不传输第⼆个参数的话,默认会截取到字符串最后。返回值是⼀个新的字符串,这个⽅法同样不会对原先的字符串进⾏修改。这个⽅法并没有被标准话,所以说,使⽤与否看个⼈吧。
    代码:     
<script type="text/javascript">
var shuShi = "⼀发脑残箭,天⼈相隔永不见";
console.log(shuShi.substr(2,3));
console.log(shuShi.substr(-3,3));
</script>
上⾯的代码包含的第⼀个参数为负值的情况。
也许我的这些东西你看着很浅显,但这就像⼀砖⼀⽡,慢慢来嘛。我已经尽⼒写的很详细了,希望对你会有帮助。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。