同
三個方法都是對字符串的截取操作,返回被操作的字符串,不會修改字符串本身;
都接受一或兩個參數(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
摘要:點評我們來看這樣一個例子給定一個字符串,要求去掉最后一個逗號。大膽假想一下,如果把踢出去,就保留和,你還會懵嗎或者更大膽一點,把和都踢出去,就只保留,我反正感覺整個世界都清靜了系列鏈接吐槽系列一和吐槽系列二數(shù)組中的和方法吐槽系列三數(shù)組的陷阱 實不相瞞,對于字符串中的slice()、substr()和 substring()這三個方法,我自己很長一段時間都是理不清的,每次用都得查一下文檔...
摘要:交換參數(shù)位置,小的在前。的如果為負數(shù),同樣從尾部算起,如果其絕對值超過原字符串長度或者為,返回空字符串。會取和中較小的值為二者相等返回空字符串,任何一個參數(shù)為負數(shù)被替換為即該值會成為參數(shù)。第二個為負值是始終返回控制符串。 slice,substring,substr三個函數(shù)都是截取字符串。 先看方法的簽名 slice(start, end); // 參數(shù)可為負數(shù)。第二個參數(shù)是指定結(jié)束位...
摘要:方法用于提取字符串中介于兩個指定下標之間的字符。一個非負的整數(shù),規(guī)定要提取的子串的第一個字符在中的位置。子串中的字符數(shù)??刂婆_方法可提取字符串的某個部分,并以新的字符串返回被提取的部分。 查看原文可以有更好的排版效果哦 js中有三個截取字符的方法,分別是substring()、substr()、slice(),平時我們可能都用到過,但總是會對這些方法有點混淆,特別是substring(...
摘要:該方法會改變調(diào)用該方法的對象有返回值如的方法,會改變一個數(shù)組本身的順序,并且返回一個按要求排列的數(shù)組像的方法是不會改變原對象的方法是否是靜態(tài)的例如的方法都是靜態(tài)方法最后一點純屬個人惡趣味,我會把一些明顯不符合要求的值傳入,看看是否出現(xiàn)異常。 正文 每次遇到某個類型陌生的方法的時候,我通常會思考這樣幾個問題: 該方法需要的傳入?yún)?shù): 不需要傳參數(shù)的:諸如Array的pop方法; 有...
摘要:返回值當和運算符一起作為構(gòu)造函數(shù)使用時,它返回一個新創(chuàng)建的對象,存放的是字符串或的字符串表示。返回值一個新的字符串,包含從的包括所指的字符處開始的個字符。 String 對象的方法 slice()、substring() 和 substr() String 對象的方法 slice()、substring() 和 substr() (不建議使用)都可返回字符串的指定部分。slice(st...
閱讀 1718·2021-10-28 09:32
閱讀 617·2021-09-24 09:47
閱讀 2941·2021-09-02 15:11
閱讀 2745·2021-08-09 13:46
閱讀 2896·2019-08-30 15:55
閱讀 1081·2019-08-30 15:54
閱讀 3315·2019-08-29 14:12
閱讀 818·2019-08-26 13:40