成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

slice(),substring()和substr()的異同

lyning / 3193人閱讀

三個方法都是對字符串的截取操作,返回被操作的字符串,不會修改字符串本身;

都接受一或兩個參數(shù),第一個參數(shù)都為開始的位置;

只有一個參數(shù)且為正數(shù)的情況下返回的結(jié)果相同;

var str = "12345678";
console.log(str.slice(3)); // "45678"
console.log(str.substring(3)); // "45678"
console.log(str.substr(3)); // "45678"
1. 第二個參數(shù)含義不同

slice()substring()第二個參數(shù)含義都為指定字符串最后一個字符后面的位置,
substr()第二個參數(shù)含義為返回的字符數(shù)量

var str = "12345678";
console.log(str.slice(3,4)); // "4"
console.log(str.substring(3,4)); // "4"
console.log(str.substr(3,4)); // "4567"
2. 參數(shù)為負數(shù)

slice()會把負數(shù)與字符串長度相加

var str = "12345678";
console.log(str.slice(-3)); // 相當于 scice(5)  =>  "678"
console.log(str.slice(-3,7)); // 相當于 scice(5,7)  =>  "67"
console.log(str.slice(3,-3)); // 相當于 scice(3,5)  =>  "45"
console.log(str.slice(-5,-3)); // 相當于 scice(3,5)  =>  "45"

substring()會把負數(shù)轉(zhuǎn)換為0

var str = "12345678";
console.log(str.substring(-3)); // 相當于 substring(0)  =>  "12345678"
console.log(str.substring(-3,7)); // 相當于 substring(0,7)  =>  "1234567"
console.log(str.substring(-5,-3)); // 相當于 substring(0,0)  =>  ""

substr()第一個參數(shù)為負數(shù)會把負數(shù)與字符串長度相加和slice()相同,第二個參數(shù)為負數(shù)返回空字符串

var str = "12345678";
console.log(str.substr(-3)); // 相當于 substr(5)  =>  678
console.log(str.substr(5,-3)); // 相當于 substr(5,0)  =>  ""
3. 兩個參數(shù)位置顛倒

意思為將較大的數(shù)作為開始位置,而將較小的數(shù)作為結(jié)束位置,
這個不同點只在slice()substring()才存在,
substr()只有一個參數(shù)表示位置,還有一個表示長度,所以不存在這個問題

slice()會返回空字符串

var str = "12345678";
console.log(str.slice(5,3)); // ""
console.log(str.slice(-3,3)); // 相當于 scice(5,3)  =>  ""
console.log(str.slice(7,-3)); // 相當于 scice(7,5)  =>  ""

substring()調(diào)換兩個參數(shù)的位置

var str = "12345678";
console.log(str.substring(5,3)); // 相當于 substring(3,5)  =>  "45"
console.log(str.substring(-3,3)); // 相當于 substring(0,3)  =>  "123"
console.log(str.substring(7,-3)); // 相當于 substring(7,0)  => substring(0,7)  => "1234567"
總結(jié)

來張表吧

本篇如能對您有所幫助,實在是感到榮幸。如有不合理之處也請大家多多指點。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/108601.html

相關(guān)文章

  • 吐槽Javascript系列一:slice()、substr() substring()

    摘要:點評我們來看這樣一個例子給定一個字符串,要求去掉最后一個逗號。大膽假想一下,如果把踢出去,就保留和,你還會懵嗎或者更大膽一點,把和都踢出去,就只保留,我反正感覺整個世界都清靜了系列鏈接吐槽系列一和吐槽系列二數(shù)組中的和方法吐槽系列三數(shù)組的陷阱 實不相瞞,對于字符串中的slice()、substr()和 substring()這三個方法,我自己很長一段時間都是理不清的,每次用都得查一下文檔...

    waltr 評論0 收藏0
  • js substr,slice,substring 用法與區(qū)別

    摘要:交換參數(shù)位置,小的在前。的如果為負數(shù),同樣從尾部算起,如果其絕對值超過原字符串長度或者為,返回空字符串。會取和中較小的值為二者相等返回空字符串,任何一個參數(shù)為負數(shù)被替換為即該值會成為參數(shù)。第二個為負值是始終返回控制符串。 slice,substring,substr三個函數(shù)都是截取字符串。 先看方法的簽名 slice(start, end); // 參數(shù)可為負數(shù)。第二個參數(shù)是指定結(jié)束位...

    Lin_YT 評論0 收藏0
  • js中截取字符串三個方法 substring()、substr()、slice()

    摘要:方法用于提取字符串中介于兩個指定下標之間的字符。一個非負的整數(shù),規(guī)定要提取的子串的第一個字符在中的位置。子串中的字符數(shù)??刂婆_方法可提取字符串的某個部分,并以新的字符串返回被提取的部分。 查看原文可以有更好的排版效果哦 js中有三個截取字符的方法,分別是substring()、substr()、slice(),平時我們可能都用到過,但總是會對這些方法有點混淆,特別是substring(...

    elva 評論0 收藏0
  • 淺談JS字符串三個方法

    摘要:該方法會改變調(diào)用該方法的對象有返回值如的方法,會改變一個數(shù)組本身的順序,并且返回一個按要求排列的數(shù)組像的方法是不會改變原對象的方法是否是靜態(tài)的例如的方法都是靜態(tài)方法最后一點純屬個人惡趣味,我會把一些明顯不符合要求的值傳入,看看是否出現(xiàn)異常。 正文 每次遇到某個類型陌生的方法的時候,我通常會思考這樣幾個問題: 該方法需要的傳入?yún)?shù): 不需要傳參數(shù)的:諸如Array的pop方法; 有...

    smartlion 評論0 收藏0
  • 【JavaScript】String 對象方法 slice()、substring() sub

    摘要:返回值當和運算符一起作為構(gòu)造函數(shù)使用時,它返回一個新創(chuàng)建的對象,存放的是字符串或的字符串表示。返回值一個新的字符串,包含從的包括所指的字符處開始的個字符。 String 對象的方法 slice()、substring() 和 substr() String 對象的方法 slice()、substring() 和 substr() (不建議使用)都可返回字符串的指定部分。slice(st...

    ztyzz 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<