问答详情
源自:7-21 选定元素slice()

slice

slice这节课中的注意3. String.slice() 与 Array.slice() 相似。

是否正确?

是不是应该是String.substring() 与 Array.slice() 相似。

提问者:qq_Tobeabetter 2016-04-13 11:22

个回答

  • qq_明月心_03156624
    2016-04-13 16:15:01
    已采纳

    String.slice() 与 Array.slice() 相似, String.substring()则不然,String.slice()与String.substring(),虽然都是根据参数start 与 end 返回子字符串,但也有区别:前者如果 start 或end为负,将它作为 length + start(end)处理,此处 length 为数组的长度。如果 end 出现在 start 之前,不复制任何元素到新数组中。后者如果 start 或 end 为 NaN 或者负数,那么将其替换为0。子字符串的长度等于 start 和 end 之差的绝对值。

  • qq_过去_3
    2016-04-13 13:37:59

    是有String.slice()这个的,和substring的区别是slice里面start和stop可以是负数,string不行,但是两者都用于字符串的提取

  • 慕粉3160883
    2016-04-13 13:33:13

    是相似的,字符串相当于字符数组。String.slice() 提取指定位置之间的元素是没有逗号隔开的; String.substring()的结果是和String.slice()一样的; Array.slice()提取指定位置之间的元素是有逗号隔开的。你把下面代码复制进编译器,看结果你就明白了。


    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Array对象 </title>
    <script type="text/javascript">
       var myarr1 = ["我","爱","你"];
       var myarr2 = "我爱你";
       document.write(myarr1.slice(1) + "<br>");
       document.write(myarr2.slice(1) + "<br>");
       document.write(myarr2.substring(1));
    </script>
    </head>
    <body>
    </body>
    </html>