slice,substring,substr三個函數都是截取字符串,但是對參數的處理有區別
參數處理相似的兩個函數式slice和substring
slice(start,end)和substring(start,end)
他們兩個的end都是原字符串的索引,意思為截取到end(不包括end)位置的字符
二者的區別是:
slice中的start如果為負數,會從尾部算起,-1表示倒數第一個,-2表示倒數第2個,此時end必須為負數,並且是大於start的負數,否則返回空字符串
slice的end如果為負數,同樣從尾部算起,如果其絕對值超過原字符串長度或者為0,返回空字符串
substring會取start和end中較小的值為start,二者相等返回空字符串,任何一個參數為負數被替換為0(即該值會成為start參數)
而substr比較特殊
substr的end參數表示,要截取的長度,若該參數為負數或0,都將返回空字符串