<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 馬嘉楠 閱讀(2481) 評論(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個字符  回復  更多評論
      
    主站蜘蛛池模板: 黄a大片av永久免费| 最近的免费中文字幕视频 | 美女羞羞视频免费网站| 在线观看成人免费视频不卡| 亚洲欧洲日产国产最新| 1000部啪啪未满十八勿入免费| 在线成人精品国产区免费| 亚洲熟妇av一区二区三区| 黄色免费在线网站| 久久亚洲综合色一区二区三区 | 香蕉免费一级视频在线观看| 久久久青草青青国产亚洲免观| 无码久久精品国产亚洲Av影片| 亚洲av成人综合网| 久久久久久99av无码免费网站| 久久久久亚洲精品天堂久久久久久 | 亚洲精品中文字幕麻豆| 免费av片在线观看网站| 亚洲美女视频免费| 成人免费网站在线观看| 永久免费观看黄网站| 亚洲乱码国产乱码精品精| 最近免费中文字幕大全免费版视频| 亚洲不卡无码av中文字幕| 你懂的网址免费国产| 亚洲成AV人片在| 中文字幕人成无码免费视频| 美女裸免费观看网站| 亚洲国产人成在线观看69网站| 男人j进女人p免费视频| 亚洲Av熟妇高潮30p| 成人爽A毛片免费看| 中国国语毛片免费观看视频| 精品日韩亚洲AV无码| 成年女人免费视频播放体验区| 久久久久久亚洲精品成人| 最近中文字幕mv免费高清电影| 亚洲AV人无码激艳猛片| 在线免费观看一级片| 免费看一级高潮毛片| 亚洲专区在线视频|