搜尋

首頁  >  問答  >  主體

html - JavaScript 中 substr 和 slice 什么区别?


        var str="my name is yangxiaoluo";

        console.log(  str.substr(1, 10)   );

        console.log(  str.slice(1, 10) );

我怎么试了试都一样?

PHP中文网PHP中文网2794 天前814

全部回覆(5)我來回復

  • 高洛峰

    高洛峰2017-04-11 08:58:33

    arrayObject.slice(start,end)
    stringObject.substr(start,length)
    
    • 首先,slice()理论上针对数组,substr()是针对字符串

    • 其次,slice()方法参数为start,end,意为返回一个新的数组,包含从 start 到 end (不包括end元素)的 arrayObject 中的元素;

    • 再次,substr()方法参数为start,length,意为返回一个新的字符串,包含从 stringObject 的 start(包括 start 所指的字符) 处开始的 length 个字符。

    • 最后,其他详细解释参照slice()方法,substr()方法

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-11 08:58:33

    substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。
    slice() 方法可从已有的数组中返回选定的元素。

    var str="my name is yangxiaoluo";
    console.log(  str.substr(1, 10).length   ); //10
    console.log(  str.slice(1, 10).length ); //9
    

    不是一样的,你的运行结果正好有空格,所以看上去是一样的
    你看下你结果的字符串的长度就知道是不一样的了

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-11 08:58:33

    http://www.jacklmoore.com/notes/substrin...

    回覆
    0
  • 巴扎黑

    巴扎黑2017-04-11 08:58:33

    substr是截取对应的字符,也就是改变了原字符串的内容,而slice是复制对应的字符,并不修改原字符串的内容

    回覆
    0
  • PHPz

    PHPz2017-04-11 08:58:33

    http://www.w3school.com.cn/jsref/jsref_o...

    多看看手册

    回覆
    0
  • 取消回覆