今天重新回顧了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 , 這里需要注意的是 當substring 為負數(shù)的時候,其實可以當成0來算差购,也就是a.substring(0) 那當然就是 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ù)為負數(shù)所以當成0 也就是 a.substring(3,0) substring 是干從小到大的順序來的 也就變成了 a.substring(0,3) 所以就為hel了
第二個substr, 第二個參數(shù)為負數(shù)所以要當成0 析显,那么substr(3,0) 就是說從第三個位置取0個 那當然就是空字符串呢
第三個slice 畔乙,第二哥參數(shù)為負數(shù)所以要當成總數(shù)-4 來看 就是 11-4 = 7 就為a.slice(3,7) 所以就為 low?
簡單吧~~~~ ??
^_^