<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個字符  回復  更多評論
      
    主站蜘蛛池模板: 男人进去女人爽免费视频国产| 成人精品国产亚洲欧洲| 免费在线看黄网站| 在线观看亚洲av每日更新| 一级午夜免费视频| 久久被窝电影亚洲爽爽爽| 久久九九全国免费| 亚洲av日韩av无码黑人| 色欲国产麻豆一精品一AV一免费| 亚洲AV无码乱码在线观看裸奔| 久9这里精品免费视频| 亚洲精品无码久久久久久久 | 亚洲中文字幕丝袜制服一区| 美女视频黄频a免费| 久久久久国产成人精品亚洲午夜| 中文字幕免费在线看| 久久精品国产亚洲av日韩| 一个人免费观看在线视频www| 亚洲精品人成网线在线播放va| 在线a亚洲v天堂网2018| 国产成人无码精品久久久免费| 亚洲AV无码成人精品区在线观看| 在线免费观看亚洲| 亚洲av纯肉无码精品动漫| 亚洲中文久久精品无码| 91福利视频免费| 亚洲JLZZJLZZ少妇| 91麻豆精品国产自产在线观看亚洲 | 老司机在线免费视频| 亚洲av无一区二区三区| 国产亚洲精品美女久久久| 黄页网站免费在线观看| 人人爽人人爽人人片A免费| 亚洲国产精品无码一线岛国| 在线观看免费高清视频| 国产免费久久久久久无码| 亚洲老熟女@TubeumTV| www.亚洲色图| 99re在线这里只有精品免费| 国产成人亚洲综合在线| 亚洲激情在线视频|