字符串原始值本身并不是對(duì)象,,不具有方法和屬性,,但在JS中,方法和屬性也可以用于原始值,,此時(shí)的字符串被視作為對(duì)象,。
我們分兩節(jié)分享下JS中字符串對(duì)象的一些常用方法和屬性。 1,、字符串長度 var str="中華人民共和國,,人民當(dāng)家做主";var sln=str.length; sln的結(jié)果為:14,str字符串包括標(biāo)點(diǎn)符號(hào)一共14位字符,。比如查找字符串str"中華人民共和國,人民當(dāng)家做主"中的“人”在第幾位,?var pos1=str.indexOf("人"); pos1的結(jié)果為:2,,因?yàn)樵贘S中字符串的索引是從0開始的,indexOf() 方法返回字符串中指定文本首次出現(xiàn)的索引(位置),。 如果要查找字符串中“人”出現(xiàn)的最后一個(gè)位置,,則用:var pos2=str.lastIndexOf("人"); pos1的結(jié)果為:8,lastIndexOf() 方法返回指定文本在字符串中最后一次出現(xiàn)的索引,,此方法是從尾到頭進(jìn)行檢索,。 如果未找到文本, indexOf() 和 lastIndexOf() 均返回 -1,。var pos3=str.lastIndexOf("我"); 以上兩個(gè)方法都有兩個(gè)參數(shù),,第一個(gè)參數(shù)是要查找的字符串,第二個(gè)參數(shù)是從原始值中第幾個(gè)索引開始查起,,所以:
var pos4=str.indexOf("人",3); pos4返回值為8,,因?yàn)樗饕?對(duì)應(yīng)的是字符串"中華人民共和國,人民當(dāng)家做主"中的第一個(gè)民,,所以pos4只能返回該字符串中第二個(gè)“人”的索引,。 search() 方法搜索特定值的字符串,,并返回匹配的位置,,如:var pos5=str.search("人"); pos5返回的值也是2,和str.indexOf("人")返回的值是一樣的,。 search() 方法無法設(shè)置第二個(gè)開始位置參數(shù),。indexOf() 方法無法設(shè)置更強(qiáng)大的搜索值(正則表達(dá)式)。slice() 方法res1的結(jié)果為:"中華人民共和國",,這里要注意end參數(shù)要比提取字符串最會(huì)后一位字符的索引大1,比如“國”的索引為6,,end參數(shù)要為7,。字符串的索引不僅可以從前往后數(shù),,0,,1,2……,,還可以從后往前數(shù),,-1,-2,,-3,,……,所以:var res2=str.slice(-14,-7) 如果省略第二個(gè)參數(shù),,則該方法將裁剪字符串的剩余部分,,如:res3的結(jié)果為:"人民當(dāng)家做主" res4的結(jié)果也為:"人民當(dāng)家做主"
substring() 方法不同之處在于 substring() 無法接受負(fù)的索引,。var res5=str.substring(0,7) 如果省略第二個(gè)參數(shù),,則該 substring() 將裁剪字符串的剩余部分。substr() 方法不同之處在于第二個(gè)參數(shù)規(guī)定被提取部分的長度,。如果省略第二個(gè)參數(shù),則該 substr() 將裁剪字符串的剩余部分,。
|