今天重新回顧了JS高級程序設(shè)計 操作字符串有個有點意思的東西 分享下
var a = 'hello world'
a.substring(3)? ? ? ? ? ? ? ? ? ? ? ? ? ? //? lo world
a.substr(3) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //? lo world
a.slice(3) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //? lo world
a.substring(-3)? ? ? ? ? ? ? ? ? ? ? ? ? //? hello world
a.substr(-3) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // ?rld
a.slice(-3) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//? rld
可能大家出的比較多的應(yīng)該是 substring , 這里需要注意的是 當(dāng)substring 為負(fù)數(shù)的時候,其實可以當(dāng)成0來算,也就是a.substring(0) 那當(dāng)然就是 hello world
這個實在so easy 那我們來2個參數(shù)
a.substring(3, 7)? ? ? ? ? ? ? ? ? ? ? ? ? ? //? lo w
a.substr(3, 7) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //? lo worl
a.slice(3, 7) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // ? lo w
a.substring(3, -4)? ? ? ? ? ? ? ? ? ? ? ? ? ? // ?hel
a.substr(3, -4) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// ?"" ?空字符串
a.slice(3, -4) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//? lo w
可能后面三個錯的比較多
第一個substring 第二個參數(shù)為負(fù)數(shù)所以當(dāng)成0 也就是 a.substring(3,0) substring 是干從小到大的順序來的 也就變成了 a.substring(0,3) 所以就為hel了
第二個substr, 第二個參數(shù)為負(fù)數(shù)所以要當(dāng)成0 ,那么substr(3,0) 就是說從第三個位置取0個 那當(dāng)然就是空字符串呢
第三個slice ,第二哥參數(shù)為負(fù)數(shù)所以要當(dāng)成總數(shù)-4 來看 就是 11-4 = 7 就為a.slice(3,7) 所以就為 low?
簡單吧~~~~ ??
^_^