同
三個(gè)方法都是對(duì)字符串的截取操作,返回被操作的字符串,不會(huì)修改字符串本身;
都接受一或兩個(gè)參數(shù),第一個(gè)參數(shù)都為開(kāi)始的位置;
只有一個(gè)參數(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. 第二個(gè)參數(shù)含義不同
slice()和substring()第二個(gè)參數(shù)含義都為指定字符串最后一個(gè)字符后面的位置,
而substr()第二個(gè)參數(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ù)為負(fù)數(shù)
slice()會(huì)把負(fù)數(shù)與字符串長(zhǎng)度相加
var str = "12345678"; console.log(str.slice(-3)); // 相當(dāng)于 scice(5) => "678" console.log(str.slice(-3,7)); // 相當(dāng)于 scice(5,7) => "67" console.log(str.slice(3,-3)); // 相當(dāng)于 scice(3,5) => "45" console.log(str.slice(-5,-3)); // 相當(dāng)于 scice(3,5) => "45"
substring()會(huì)把負(fù)數(shù)轉(zhuǎn)換為0
var str = "12345678"; console.log(str.substring(-3)); // 相當(dāng)于 substring(0) => "12345678" console.log(str.substring(-3,7)); // 相當(dāng)于 substring(0,7) => "1234567" console.log(str.substring(-5,-3)); // 相當(dāng)于 substring(0,0) => ""
substr()第一個(gè)參數(shù)為負(fù)數(shù)會(huì)把負(fù)數(shù)與字符串長(zhǎng)度相加和slice()相同,第二個(gè)參數(shù)為負(fù)數(shù)返回空字符串
var str = "12345678"; console.log(str.substr(-3)); // 相當(dāng)于 substr(5) => 678 console.log(str.substr(5,-3)); // 相當(dāng)于 substr(5,0) => ""3. 兩個(gè)參數(shù)位置顛倒
意思為將較大的數(shù)作為開(kāi)始位置,而將較小的數(shù)作為結(jié)束位置,
這個(gè)不同點(diǎn)只在slice()和substring()才存在,
substr()只有一個(gè)參數(shù)表示位置,還有一個(gè)表示長(zhǎng)度,所以不存在這個(gè)問(wèn)題
slice()會(huì)返回空字符串
var str = "12345678"; console.log(str.slice(5,3)); // "" console.log(str.slice(-3,3)); // 相當(dāng)于 scice(5,3) => "" console.log(str.slice(7,-3)); // 相當(dāng)于 scice(7,5) => ""
substring()會(huì)調(diào)換兩個(gè)參數(shù)的位置
var str = "12345678"; console.log(str.substring(5,3)); // 相當(dāng)于 substring(3,5) => "45" console.log(str.substring(-3,3)); // 相當(dāng)于 substring(0,3) => "123" console.log(str.substring(7,-3)); // 相當(dāng)于 substring(7,0) => substring(0,7) => "1234567"總結(jié)
來(lái)張表吧
本篇如能對(duì)您有所幫助,實(shí)在是感到榮幸。如有不合理之處也請(qǐng)大家多多指點(diǎn)。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/108601.html
摘要:點(diǎn)評(píng)我們來(lái)看這樣一個(gè)例子給定一個(gè)字符串,要求去掉最后一個(gè)逗號(hào)。大膽假想一下,如果把踢出去,就保留和,你還會(huì)懵嗎或者更大膽一點(diǎn),把和都踢出去,就只保留,我反正感覺(jué)整個(gè)世界都清靜了系列鏈接吐槽系列一和吐槽系列二數(shù)組中的和方法吐槽系列三數(shù)組的陷阱 實(shí)不相瞞,對(duì)于字符串中的slice()、substr()和 substring()這三個(gè)方法,我自己很長(zhǎng)一段時(shí)間都是理不清的,每次用都得查一下文檔...
摘要:交換參數(shù)位置,小的在前。的如果為負(fù)數(shù),同樣從尾部算起,如果其絕對(duì)值超過(guò)原字符串長(zhǎng)度或者為,返回空字符串。會(huì)取和中較小的值為二者相等返回空字符串,任何一個(gè)參數(shù)為負(fù)數(shù)被替換為即該值會(huì)成為參數(shù)。第二個(gè)為負(fù)值是始終返回控制符串。 slice,substring,substr三個(gè)函數(shù)都是截取字符串。 先看方法的簽名 slice(start, end); // 參數(shù)可為負(fù)數(shù)。第二個(gè)參數(shù)是指定結(jié)束位...
摘要:方法用于提取字符串中介于兩個(gè)指定下標(biāo)之間的字符。一個(gè)非負(fù)的整數(shù),規(guī)定要提取的子串的第一個(gè)字符在中的位置。子串中的字符數(shù)。控制臺(tái)方法可提取字符串的某個(gè)部分,并以新的字符串返回被提取的部分。 查看原文可以有更好的排版效果哦 js中有三個(gè)截取字符的方法,分別是substring()、substr()、slice(),平時(shí)我們可能都用到過(guò),但總是會(huì)對(duì)這些方法有點(diǎn)混淆,特別是substring(...
摘要:該方法會(huì)改變調(diào)用該方法的對(duì)象有返回值如的方法,會(huì)改變一個(gè)數(shù)組本身的順序,并且返回一個(gè)按要求排列的數(shù)組像的方法是不會(huì)改變?cè)瓕?duì)象的方法是否是靜態(tài)的例如的方法都是靜態(tài)方法最后一點(diǎn)純屬個(gè)人惡趣味,我會(huì)把一些明顯不符合要求的值傳入,看看是否出現(xiàn)異常。 正文 每次遇到某個(gè)類(lèi)型陌生的方法的時(shí)候,我通常會(huì)思考這樣幾個(gè)問(wèn)題: 該方法需要的傳入?yún)?shù): 不需要傳參數(shù)的:諸如Array的pop方法; 有...
摘要:返回值當(dāng)和運(yùn)算符一起作為構(gòu)造函數(shù)使用時(shí),它返回一個(gè)新創(chuàng)建的對(duì)象,存放的是字符串或的字符串表示。返回值一個(gè)新的字符串,包含從的包括所指的字符處開(kāi)始的個(gè)字符。 String 對(duì)象的方法 slice()、substring() 和 substr() String 對(duì)象的方法 slice()、substring() 和 substr() (不建議使用)都可返回字符串的指定部分。slice(st...
閱讀 1698·2021-10-28 09:32
閱讀 605·2021-09-24 09:47
閱讀 2920·2021-09-02 15:11
閱讀 2733·2021-08-09 13:46
閱讀 2884·2019-08-30 15:55
閱讀 1071·2019-08-30 15:54
閱讀 3300·2019-08-29 14:12
閱讀 805·2019-08-26 13:40