JavaScript中String對(duì)象的方法介紹
1.字符方法
1.1 charAt() 方法,返回字符串中指定位置的字符。
var question = "Do you like JavaScript?"; alert(question.charAt(5)); //"u"
字符串 "Do you like JavaScript?" 的長(zhǎng)度為23,即位置從0到22。指定位置5處的字符是"u"。
1.2 charCodeAt() 方法,返回字符串中指定位置的字符編碼。
var question = "Do you like JavaScript?"; alert(question.charCodeAt(5)); //"117"
位置5處的字符"u"的字符編碼是"117"。
charAt() 和 charCodeAt() 都是針對(duì)單個(gè)字符進(jìn)行操作的方法。
2.字符串操作方法
這個(gè)小節(jié)的字符串操作方法是關(guān)于創(chuàng)建新字符串的方法。這些方法包括 concat()、slice()、substring()、substr()。
concat() 是通過(guò)拼接的方式創(chuàng)建新的字符串,slice()、substring()、substr() 是通過(guò)提取的方式創(chuàng)建新的字符串。
這四種方法不會(huì)改變?cè)甲址?/p>
2.1 concat() 方法,將一個(gè)或多個(gè)字符串拼接起來(lái),返回新的字符串。不改變?cè)甲址?/p>
concat() 方法可以接受一個(gè)或多個(gè)參數(shù)。
concat() 方法接受一個(gè)參數(shù)。
var love = "I love ";
var result = love.concat("you");
alert(result); //"I love you"
alert(love); //"I love "
love 調(diào)用了 concat() 方法,返回 "I love you",love 的值并沒(méi)有改變。
concat() 方法接受多個(gè)參數(shù)。
var love = "I love ";
var result = love.concat("you"," very"," much","!");
alert(result); //"I love you very much!"
alert(love); //"I love "
不過(guò),在實(shí)踐中,通常用 + 號(hào)操作符將字符串拼接在一起。
2.2 slice()、substring()、substr() 方法,通過(guò)提取原始字符串的部分或全部來(lái)創(chuàng)建新的字符串,返回創(chuàng)建后的新字符串,不改變?cè)甲址?/p>
slice()、substring()、substr() 方法可以接受一個(gè)或兩個(gè)參數(shù),這些參數(shù)為數(shù)字,可以是正值參數(shù),也可以是負(fù)值參數(shù)。
2.2.1 參數(shù)為正值時(shí)
傳入兩個(gè)參數(shù)的情況
對(duì)于 slice() 、substring() ,第一個(gè)參數(shù)為提取的開(kāi)始位置(包括開(kāi)始位置的字符),第二個(gè)參數(shù)為提取的結(jié)束位置(不包括結(jié)束位置的字符)。
對(duì)于 substr(),第一個(gè)參數(shù)為提取的開(kāi)始位置(包括開(kāi)始位置的字符),第二個(gè)參數(shù)為提取的字符個(gè)數(shù)。
var hello = "I love JavaScript!"; alert(hello.slice(7,11)); //"Java" alert(hello.substring(7,11)); //"Java" alert(hello.substr(7,11)); //"JavaScript!"
字符串 "I love JavaScript!" 長(zhǎng)度為18,即位置從0到17。第7位的字符是 "J",第11位的字符是 "S"。
slice()、substring() 提取的子字符串是從第7位開(kāi)始(包括第7位的 "J")到第11位結(jié)束(不包括第11位的 "S"),于是用這兩個(gè)方法提取的新字符串是 "Java"。而 substr() 則是從第7位 "J" 開(kāi)始(包括第7位的 "J"),提取11個(gè)字符,最后提取的新字符串為 "JavaScript!"。
傳入一個(gè)參數(shù)的情況
參數(shù)為正值,傳入一個(gè)參數(shù)時(shí),slice()、substring()、substr() 方法提取原理相同,即從參數(shù)的位置開(kāi)始提?。?span style="color: #ff0000">包括開(kāi)始位置的字符),一直提取到原始字符串的最后一個(gè)字符(包括最后一個(gè)字符)。
var hello = "I love JavaScript!"; alert(hello.slice(7)); //"JavaScript!" alert(hello.substring(7)); //"JavaScript!" alert(hello.substr(7)); //"JavaScript!"
傳入了一個(gè)參數(shù)7,即從第7位開(kāi)始(包括第7位的 "J"),一直提取到原始字符串的最后一位(包括最后一位的 "!")。于是,只有一個(gè)參數(shù),且參數(shù)為正值時(shí),slice()、substring()、substr() 方法返回的新字符串相同。
2.2.2 參數(shù)為負(fù)值時(shí),不管是一個(gè)參數(shù)還是兩個(gè)參數(shù)
slice() 方法會(huì)將傳入的所有負(fù)值與字符串長(zhǎng)度相加。
substring() 方法會(huì)將傳入的所有負(fù)值都轉(zhuǎn)化為0。
substr() 方法,若第一個(gè)參數(shù)是負(fù)值,則將負(fù)值與字符串長(zhǎng)度相加;若第二個(gè)參數(shù)是負(fù)值,則將其轉(zhuǎn)化為0。
var hello = "I love JavaScript!"; alert(hello.slice(-11)); //"JavaScript!" alert(hello.substring(-11)); //"I love JavaScript!" alert(hello.substr(-11)); //"JavaScript!" alert(hello.slice(-11,-9)); //"Ja" alert(hello.substring(-11,-9)); //""(空字符串) alert(hello.substr(-11,-9)); //""(空字符串)
當(dāng)傳入一個(gè)負(fù)值參數(shù)-1時(shí),
slice() 將負(fù)值參數(shù)與字符串長(zhǎng)度相加,前面提到過(guò),字符串 "I love JavaScript!" 的長(zhǎng)度為18,于是 slice(-11) 即相當(dāng)于 slice(7),即從第7位開(kāi)始提取,最后提取的子字符串為 "JavaScript!";
substring() 會(huì)將負(fù)值轉(zhuǎn)化為0,substring(-11) 相當(dāng)于 substring(0),即從第0位開(kāi)始提取,最后提取的子字符串為 "I love JavaScript!";
substr() 將負(fù)值參數(shù)與字符串長(zhǎng)度相加,substr(-11) 相當(dāng)于 substr(7),即從第7位開(kāi)始提取,最后提取的子字符串為 "JavaScript!"。
當(dāng)傳入?yún)?shù)-11,-9時(shí),
slice() 將所有負(fù)值參數(shù)與字符串長(zhǎng)度相加,slice(-11,-9) 相當(dāng)于 slice(7,9),最后提取的子字符串為 "Ja";
substring() 會(huì)將所有負(fù)值轉(zhuǎn)化為0,substring(-11,-9) 相當(dāng)于 substring(0,0),即從第0位開(kāi)始,第0位結(jié)束,即提取的是空字符串;
substr() 將第一個(gè)參數(shù)-11與字符串長(zhǎng)度相加,將第二個(gè)參數(shù)-9轉(zhuǎn)化為0,substr(-11,-9) 相當(dāng)于 substr(7,0),即從第7位開(kāi)始,提取0個(gè)字符串,即也是空字符串。
3.字符串位置方法
indexOf() 方法和 lastIndexOf() 方法,返回要檢索的子字符串在原始字符串中第一次出現(xiàn)的位置。
indexOf() 方法從原始字符串開(kāi)頭向后檢索子字符串,lastIndexOf() 方法從原始字符串末尾向前檢索子字符串。
indexOf() 方法和 lastIndexOf() 方法接受一個(gè)必選參數(shù)。
var test = "balala balala balala";
alert(test.indexOf("a")); //"1"
alert(test.lastIndexOf("a")); //"19"
indexOf() 從開(kāi)始位置向后檢索子字符串 "a","a" 第一次出現(xiàn)的位置是1;lastIndexOf() 從末尾位置向前檢索子字符串 "a","a" 第一次出現(xiàn)的位置是19。
如果沒(méi)有找到要檢索的子字符串,則這兩個(gè)方法都會(huì)返回-1。
var test = "balala balala balala";
alert(test.indexOf("h")); //"-1"
alert(test.lastIndexOf("h")); //"-1"
indexOf() 方法和 lastIndexOf() 方法接受第二個(gè)可選參數(shù),表示從原始字符串的哪個(gè)位置開(kāi)始。
var test = "balala balala balala";
alert(test.indexOf("a",7)); //"8"
alert(test.lastIndexOf("a",7)); //"5"
indexOf("a",7) 從第7位向后檢索子字符串 "a","a" 第一次出現(xiàn)的位置是8;lastIndexOf("a",7) 從第7位向前檢索子字符串 "a","a" 第一次出現(xiàn)的位置是5。
4.字符串大小寫換換方法
ECMAScript 中涉及字符串大小寫轉(zhuǎn)換的方法有4個(gè):toUpperCase()、toLocaleUpperCase()、toLowerCase()、toLocaleLowerCase()。
toUpperCase() 和 toLowerCase() 是典型的方法,toLocaleUpperCase() 和 toLocaleLowerCase() 是針對(duì)當(dāng)?shù)氐貐^(qū)的方法,以保證字符串正確的轉(zhuǎn)換。
在不知道自己的代碼在哪種語(yǔ)言環(huán)境中運(yùn)行時(shí),使用針對(duì)當(dāng)?shù)氐貐^(qū)的方法更穩(wěn)妥一些。
var test = "balala balala balala"; alert(test.toLocaleUpperCase()); //"BALALA BALALA BALALA" alert(test.toUpperCase()); //"BALALA BALALA BALALA" alert(test.toLocaleLowerCase()); //"balala balala balala" alert(test.toLowerCase()); //"balala balala balala"
5.trim()方法
trim() 方法會(huì)創(chuàng)建原始字符串的副本,并刪除前置和后綴的所有空格,然后返回結(jié)果,不會(huì)改變?cè)甲址?/p>
var test = " balala balala balala "; var test1 = test.trim(); alert(test1); //"balala balala balala" alert(test); // " balala balala balala " alert(test1.length); //"20" alert(test.length); //"28"
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
- JavaScript之String常見(jiàn)的方法詳解
- 用jQuery將JavaScript對(duì)象轉(zhuǎn)換為querystring查詢字符串的方法
- JavaScript基于擴(kuò)展String實(shí)現(xiàn)替換字符串中index處字符的方法
- JavaScript中的toString()和toLocaleString()方法的區(qū)別
- javascript中數(shù)組(Array)對(duì)象和字符串(String)對(duì)象的常用方法總結(jié)
- JavaScript獲取URL中參數(shù)querystring的方法詳解
- 梳理總結(jié)JavaScript的23個(gè)String方法
相關(guān)文章
javascript數(shù)組中的concat方法和splice方法
這篇文章主要介紹了javascript數(shù)組中的concat方法和splice方法,concat方法作用合并數(shù)組,可以合并一個(gè)或多個(gè)數(shù)組,會(huì)返回合并數(shù)組之后的數(shù)據(jù),不會(huì)改變?cè)瓉?lái)的數(shù)組,更多相關(guān)內(nèi)容需要的小伙伴可以參考下面文章內(nèi)容2022-03-03
Uniapp全局消息提示以及其組件的實(shí)現(xiàn)方法
當(dāng)時(shí)在做登錄那邊需要做一些交互,所以必不可少要用到消息提示框,下面這篇文章主要給大家介紹了關(guān)于Uniapp全局消息提示以及其組件的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06
JS實(shí)現(xiàn)的適合做faq或menu滑動(dòng)效果示例
這篇文章主要介紹了JS實(shí)現(xiàn)的適合做faq或menu滑動(dòng)效果,結(jié)合實(shí)例形式分析了基于JS實(shí)現(xiàn)的頁(yè)面元素滑動(dòng)漸變效果的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-11-11
JavaScript的介紹和簡(jiǎn)單語(yǔ)法(示例代碼)
JavaScript是一種廣泛使用的腳本語(yǔ)言,為網(wǎng)頁(yè)添加交互性和動(dòng)態(tài)功能提供了強(qiáng)大的支持,在本文中,我們將深入了解JavaScript的基本概念和用法,包括它在HTML中的書寫位置、注釋和結(jié)束符的使用,以及一種常用的函數(shù)——alert語(yǔ)句,感興趣的朋友一起看看吧2023-09-09
JavaScript中數(shù)字計(jì)算時(shí)丟失精度問(wèn)題解決方法
在前端開(kāi)發(fā)中,精度丟失是一個(gè)常見(jiàn)的問(wèn)題,特別是在涉及到浮點(diǎn)數(shù)計(jì)算時(shí),下面這篇文章主要給大家介紹了關(guān)于JavaScript中數(shù)字計(jì)算時(shí)丟失精度問(wèn)題的解決方法,需要的朋友可以參考下2024-09-09
網(wǎng)頁(yè)前臺(tái)通過(guò)js非法字符過(guò)濾代碼(罵人的話等等)
項(xiàng)目中如果需要過(guò)濾非法字符(你不想用戶輸入的任何字符)的話在前臺(tái)可以使用js過(guò)濾,同樣可以提高用戶體驗(yàn),以前都是后臺(tái)過(guò)濾,這樣雙重過(guò)濾用戶體驗(yàn)更好。2010-05-05
js實(shí)現(xiàn)同一頁(yè)面多個(gè)運(yùn)動(dòng)效果的方法
這篇文章主要介紹了js實(shí)現(xiàn)同一頁(yè)面多個(gè)運(yùn)動(dòng)效果的方法,涉及javascript操作頁(yè)面元素運(yùn)動(dòng)效果的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
Three.js如何用軌跡球插件(trackball)增加對(duì)模型的交互功能詳解
這篇文章主要給大家介紹了關(guān)于Three.js如何用軌跡球插件,也就是trackball增加對(duì)模型的交互功能的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-09-09
JS實(shí)現(xiàn)表單全選以及取消全選實(shí)例
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)表單全選以及取消全選實(shí)例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
IE6,IE7,IE8下使用Javascript記錄光標(biāo)選中范圍(已補(bǔ)全)
IE6,7,8下使用Javascript記錄光標(biāo)選中范圍(已補(bǔ)全)(已解決單個(gè)節(jié)點(diǎn)內(nèi)部重復(fù)字符的問(wèn)題)2011-08-08

