slice()率寡,substring()和substr()的不同!R邪帷冶共!

相同之處:

1、三個方法都是對字符串的截取操作每界,返回被操作的字符串捅僵,不會修改字符串本身;
2眨层、都接受一或兩個參數(shù)庙楚,第一個參數(shù)都為開始的位置;
3趴樱、只有一個參數(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"
  1. 參數(shù)為負(fù)數(shù)

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

   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()會把負(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()第一個參數(shù)為負(fù)數(shù)會把負(fù)數(shù)與字符串長度相加和slice()相同叁征,第二個參數(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)  =>  ""
  1. 兩個參數(shù)位置顛倒

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

slice()會返回空字符串

  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()會調(diào)換兩個參數(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é)

slice()
有end時啤呼,start<= 字符 <end,
只有start時卧秘,start<= 字符
有負(fù)數(shù) ,從后向前數(shù)官扣,開始向后進(jìn)行截取
start的位置必須【在前】 end的位置必須【在后】
substring()
有end時翅敌,start<= 字符 <end,
只有start時,start<= 字符
有負(fù)數(shù) ,把負(fù)數(shù)置 0醇锚,小的數(shù)為start, 大的數(shù)為end哼御。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市焊唬,隨后出現(xiàn)的幾起案子恋昼,更是在濱河造成了極大的恐慌,老刑警劉巖赶促,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件液肌,死亡現(xiàn)場離奇詭異,居然都是意外死亡鸥滨,警方通過查閱死者的電腦和手機(jī)嗦哆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進(jìn)店門谤祖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人老速,你說我怎么就攤上這事粥喜。” “怎么了橘券?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵额湘,是天一觀的道長。 經(jīng)常有香客問我旁舰,道長锋华,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任箭窜,我火速辦了婚禮毯焕,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘磺樱。我一直安慰自己纳猫,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布坊罢。 她就那樣靜靜地躺著续担,像睡著了一般。 火紅的嫁衣襯著肌膚如雪活孩。 梳的紋絲不亂的頭發(fā)上物遇,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天,我揣著相機(jī)與錄音憾儒,去河邊找鬼询兴。 笑死,一個胖子當(dāng)著我的面吹牛起趾,可吹牛的內(nèi)容都是我干的诗舰。 我是一名探鬼主播,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼训裆,長吁一口氣:“原來是場噩夢啊……” “哼眶根!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起边琉,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤属百,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后变姨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體族扰,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了渔呵。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片怒竿。...
    茶點(diǎn)故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖扩氢,靈堂內(nèi)的尸體忽然破棺而出耕驰,到底是詐尸還是另有隱情,我是刑警寧澤录豺,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布耍属,位于F島的核電站,受9級特大地震影響巩检,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜示启,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一兢哭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧夫嗓,春花似錦迟螺、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至排霉,卻和暖如春窍株,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背攻柠。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工球订, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人瑰钮。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓冒滩,卻偏偏與公主長得像,于是被迫代替她去往敵國和親浪谴。 傳聞我的和親對象是個殘疾皇子开睡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,860評論 2 361

推薦閱讀更多精彩內(nèi)容