<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Oo緣來是你oO


    posts - 120,comments - 125,trackbacks - 0

    【JavaScript】slice()、substring()、substr()的區別

    馬嘉楠    2008-12-16

     

    JavaScript中String 對象的slice()、substring()、substr()方法都能提取字符串的一部分,但使用時有所區別。

     

    • stringObject.slice(startIndex,endIndex)

    返回字符串 stringObject 從 startIndex 開始(包括 startIndex )到 endIndex 結束(不包括 endIndex )為止的所有字符。

    1)參數 endIndex 可選,如果沒有指定,則默認為字符串的長度 stringObject.length 。

      var stringObject = "hello world!";
      alert(stringObject.slice(
    3)); // lo world! 

      alert(stringObject.slice(3,stringObject.length)); // lo world!

    【注1】字符串中第一個字符的位置是從【0】開始的,最后一個字符的位置為【stringObject.length-1】,所以slice()方法返回的字符串不包括endIndex位置的字符。

    2)startIndex 、endIndex 可以是負數。如果為負,則表示從字符串尾部開始算起。即-1表示字符串最后一個字符。

      var stringObject = "hello world!";
      alert(stringObject.slice(
    -3)); // ld! 

      alert(stringObject.slice(-3,stringObject.length)); // ld! 
      alert(stringObject.slice(-3,-1)); // ld

     【注2】合理運用負數可以簡化代碼

    3)startIndex、endIndex 都是可選的,如果都不填則返回字符串 stringObject 的全部,等同于slice(0)

      var stringObject = "hello world!";
      alert(stringObject.slice()); 
    // hello world! 

      alert(stringObject.slice(0)); // hello world!

     

    4)如果startIndex、endIndex 相等,則返回空串

    【注3】String.slice() 與 Array.slice() 相似

     

     

    • stringObject.substring(startIndex、endIndex)

    返回字符串 stringObject 從 startIndex 開始(包括 startIndex )到 endIndex 結束(不包括 endIndex )為止的所有字符。

    1)startIndex  是一個非負的整數,必須填寫。endIndex 是一個非負整數,可選。如果沒有,則默認為字符串的長度stringObject.length 。

      var stringObject = "hello world!";
      alert(stringObject.substring(
    3)); // lo world! 

      alert(stringObject.substring(3,stringObject.length)); // lo world! 
      alert(stringObject.substring(3,7)); // lo w,空格也算在內[l][o][ ][w]

     

    2)如果startIndex、endIndex 相等,則返回空串。如果startIndex 比 endIndex 大,則提取子串之前,調換兩個參數。即stringObject.substring(startIndex,endIndex)等同于stringObject.substring(endIndex,startIndex)

      var stringObject = "hello world!";
      alert(stringObject.substring(
    3,3)); // 空串 

      alert(stringObject.substring(3,7)); // lo w 
      alert(stringObject.substring(7,3)); // lo w

     【注4】substring()相比,slice()更靈活,可以接收負參數。

     

     

    • stringObject.substr(startIndex,length)

    返回字符串 stringObject 從 startIndex 開始(包括 startIndex )指定數目(length)的字符字符。

    1)startIndex 必須填寫,可以是負數。如果為負,則表示從字符串尾部開始算起。即-1表示字符串最后一個字符。

    2)參數 length 可選,如果沒有指定,則默認為字符串的長度 stringObject.length 。

      var stringObject = "hello world!";
      alert(stringObject.substr(
    3)); // lo world! 

      alert(stringObject.substr(3,stringObject.length)); // lo world! 
      alert(stringObject.substr(3,4)); // lo w

     

    3)substr()可以代替slice()和substring()來使用,從上面代碼看出 stringObject.substr(3,4) 等同于stringObject.substring(3,7)

     

    【注5】ECMAscript 沒有對該方法進行標準化,因此盡量少使用該方法。

    馬嘉楠
    jianan.ma@gmail.com

    posted on 2008-12-16 11:00 馬嘉楠 閱讀(2480) 評論(2)  編輯  收藏 所屬分類: Java Script

    FeedBack:
    # re: 【JavaScript】slice()、substring()、substr()的區別
    2008-12-16 11:50 | 徐堯
    簡單點說是:例如substr(3,4)是從第三個字符開始,往后數4個,substring(3,4)是從0開始,第三個和第四個。呵呵  回復  更多評論
      
    # re: 【JavaScript】slice()、substring()、substr()的區別
    2008-12-16 12:05 | 馬嘉楠
    @徐堯
    substring(3,4)是從3開始,到4之前的位置。結果就是第4個字符  回復  更多評論
      
    主站蜘蛛池模板: 亚洲av无码专区在线电影| 6080午夜一级毛片免费看| 亚洲无限乱码一二三四区| 亚洲一区二区高清| 日韩电影免费在线观看视频| 免费人成视频在线观看网站 | 最近2019中文字幕免费大全5| 产传媒61国产免费| 亚洲乱码无人区卡1卡2卡3| 亚洲第一区视频在线观看| 国产成人亚洲综合色影视| 亚洲成a人片在线观看日本麻豆| 最近中文字幕无吗高清免费视频| 8888四色奇米在线观看免费看| 最近国语视频在线观看免费播放| 国产亚洲精品欧洲在线观看| 亚洲人成无码网站在线观看| 亚洲人精品亚洲人成在线| 亚洲无限乱码一二三四区| 亚洲成aⅴ人片在线观| 亚洲狠狠久久综合一区77777| 精品亚洲综合久久中文字幕| 亚洲精品自产拍在线观看| 国产亚洲AV手机在线观看| 亚洲一级片内射网站在线观看| 亚洲国产人成中文幕一级二级| 国产aa免费视频| 日韩精品亚洲专区在线观看| 一本久到久久亚洲综合| 免费v片在线观看| 亚洲?v无码国产在丝袜线观看| 免费一级毛片不卡不收费| 免费一级做a爰片久久毛片潮喷| 国产精品深夜福利免费观看| 日韩a级毛片免费观看| 日本免费一区尤物| 国产在线19禁免费观看| 免费在线一级毛片| 久久亚洲中文字幕精品一区四| 亚洲愉拍99热成人精品热久久| 亚洲国产精品无码专区在线观看|