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