課程
/前端開發(fā)
/JavaScript
/JavaScript進階篇
既然substring()不可以用負數(shù)來表示,那么str.slice()是不是完全可以代替substring()?
2016-04-01
源自:JavaScript進階篇 7-21
正在回答
substring與slice的參數(shù)是起始值到結束值,類似區(qū)間;而substr的參數(shù),是起始值和長度(與php的一致但功能沒php多)。
substring與slice的兩個參數(shù)當為正數(shù)時基本一致,除了substring會比較兩個參數(shù)大小,小的排在前面。
substring的第一個參數(shù)為負數(shù)時,則自動認為是0,而第二個參數(shù)為負數(shù)時,由于表示的是結束值,那絕對返回時空字符串了。
slice的第一個參數(shù)為負數(shù)時,則會將字符串長度與此負數(shù)相加(和倒著數(shù)一致),而第二個參數(shù)為負數(shù)時,由于表示的是結束值,那絕對返回時空字符串了。
substr的以一個參數(shù)為負數(shù)時,則會將字符串長度與此負數(shù)相加(和倒著數(shù)一致),而第二個參數(shù)為負數(shù)是,由于表示的是長度,那絕對也是返回空字符串了。
nadirvishun
當接收的參數(shù)是負數(shù)時,slice會將它字符串的長度與對應的負數(shù)相加,結果作為參數(shù);substr則僅僅是將第一個參數(shù)與字符串長度相加后的結果作為第一個參數(shù);substring則干脆將負參數(shù)都直接轉換為0。測試代碼如下:
var test = 'hello world';???document.write(test.slice(-3)+'<br>');???????? //rld? document.write(test.substring(-3)+'<br>');???? //hello world??? document.write(test.substr(-3)+'<br>');??????? //rld???? document.write(test.slice(3,-4)+'<br>');?????? //lo w??? document.write(test.substring(1,0)+'<br>');?? //hel???? document.write(test.substr(3,-4)+'<br>');????
不行哦!
substring()返回的是字符串;
str.slice()返回的是數(shù)組哦!
qq_水無聲_03882251
舉報
本課程從如何插入JS代碼開始,帶您進入網(wǎng)頁動態(tài)交互世界
4 回答substring()與substr()啥區(qū)別呢
2 回答substr與substring有何區(qū)別?
2 回答substring和substr的區(qū)別
1 回答substring()和substr()有什么區(qū)別??
5 回答substring和substr有什么區(qū)別呢
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關注慕課網(wǎng)微信公眾號
2017-01-05
substring與slice的參數(shù)是起始值到結束值,類似區(qū)間;而substr的參數(shù),是起始值和長度(與php的一致但功能沒php多)。
substring與slice的兩個參數(shù)當為正數(shù)時基本一致,除了substring會比較兩個參數(shù)大小,小的排在前面。
substring的第一個參數(shù)為負數(shù)時,則自動認為是0,而第二個參數(shù)為負數(shù)時,由于表示的是結束值,那絕對返回時空字符串了。
slice的第一個參數(shù)為負數(shù)時,則會將字符串長度與此負數(shù)相加(和倒著數(shù)一致),而第二個參數(shù)為負數(shù)時,由于表示的是結束值,那絕對返回時空字符串了。
substr的以一個參數(shù)為負數(shù)時,則會將字符串長度與此負數(shù)相加(和倒著數(shù)一致),而第二個參數(shù)為負數(shù)是,由于表示的是長度,那絕對也是返回空字符串了。
2016-04-01
當接收的參數(shù)是負數(shù)時,slice會將它字符串的長度與對應的負數(shù)相加,結果作為參數(shù);substr則僅僅是將第一個參數(shù)與字符串長度相加后的結果作為第一個參數(shù);substring則干脆將負參數(shù)都直接轉換為0。測試代碼如下:
var test = 'hello world';
???document.write(test.slice(-3)+'<br>');???????? //rld
? document.write(test.substring(-3)+'<br>');???? //hello world
??? document.write(test.substr(-3)+'<br>');??????? //rld
???? document.write(test.slice(3,-4)+'<br>');?????? //lo w
??? document.write(test.substring(1,0)+'<br>');?? //hel
???? document.write(test.substr(3,-4)+'<br>');????
2016-04-01
不行哦!
substring()返回的是字符串;
str.slice()返回的是數(shù)組哦!