摘要:一字符串方法字符串轉(zhuǎn)換將一個值轉(zhuǎn)換成一個字符串有兩種方法,一是使用方法,二是使用轉(zhuǎn)型函數(shù)。對于字符串型的值也可以使用方法,它會返回該字符串的一個副本。方法可以傳遞一個參數(shù),表示數(shù)值的基數(shù)進制。
一、字符串方法
1、字符串轉(zhuǎn)換:
將一個值轉(zhuǎn)換成一個字符串有兩種方法,一是使用 toString() 方法,二是使用轉(zhuǎn)型函數(shù) String()。
(1)、大多值都有toString()方法,null和undefined是沒有的。
(2)、對于字符串型的值也可以使用toString()方法,它會返回該字符串的一個副本。
(3)、toString()方法可以傳遞一個參數(shù),表示數(shù)值的基數(shù)(進制)。
var t = 8; t.toString(2); //1000
默認情況下 參數(shù)是10。要說明的是對于非數(shù)值類型(boolean,string等)設(shè)置toString()的參數(shù)是無效的
var t ="8"; t.toString(2); //8, 返回字符串的副本;
(4)、任何值都可以使用String()方法。它的過程是這樣的
首先,如果值有toString()方法,那么則使用該方法(無參數(shù))。
其次,那就是該值沒有toString()方法,那就是 null 返回 "null",undefined返回"undefined";
var a=null; String(a); //"null"
2、字符串分割:
字符串分割,將一個字符串按照某種方式分割成字符串數(shù)組,使用 split(separator,howmany) 方法,
第一個參數(shù)必需,,為字符串或正則表達式,從該參數(shù)指定的地方分割字符串;
第二個參數(shù)可選,可指定返回的數(shù)組的最大長度
var myStr = "I,Love,You,Do,you,love,me"; var substrArray = myStr .split(","); // ["I", "Love", "You", "Do", "you", "love", "me"]; var arrayLimited = myStr .split(",", 3); // ["I", "Love", "You"];
3、獲取字符串長度
獲取字符串長度,直接使用 str.length 屬性
var myStr = "I,Love,You,Do,you,love,me"; var myStrLength = myStr.length; //25
4、查詢子字符串
查詢子字符串,可以使用 indexOf() 和 lastIndexOf() 方法
(1)indexOf():從字符串的第一個字符位置開始查找,找到后返回對應(yīng)下標,找不到返回 -1 ;
var myStr = "I,Love,you,Do,you,love,me"; var index = myStr.indexOf("Love"); // 2 ,基于0開始,找不到返回-1,區(qū)分大小寫
(2)lastIndexOf():從字符串的末尾開始查找,找到最后出現(xiàn)指定字符串的位置后返回對應(yīng)下標,找不到返回 -1 ;
var myStr = "I,Love,you,Do,you,love,me"; var index = myStr.lastIndexOf("you"); // 14 //區(qū)分大小寫
5、字符串替換
替換字符串,使用 strObj.replace(regexp/substr,replacement) 方法,
第一個參數(shù)必需,規(guī)定要匹配的正則對象,
第二個參數(shù)必需,規(guī)定了替換文本或生成替換文本的函數(shù)。
var myStr = "I,Love,you,Do,you,love,me"; var replacedStr = myStr.replace(/love/g,"hate");//"I,Love,you,Do,you,hate,me",全局匹配(g)
var myStr = "I,Love,you,Do,you,love,me"; var replacedStr = myStr.replace(/love/g,"hate");//"I,hate,you,Do,you,hate,me",忽略大小寫(i)
6、查找給定位置的字符或其字符編碼值
想要查找給定位置的字符,你可以使用如下函數(shù):
var myStr = "I,love,you,Do,you,love,me"; var theChar = myStr.charAt(8);// "o",同樣從0開始
同樣,它的一個兄弟函數(shù)就是查找對應(yīng)位置的字符編碼值,如:
var myStr = "I,love,you,Do,you,love,me"; var theChar = myStr.charCodeAt(8); //111
7、字符串拼接
字符串連接操作可以簡單到用一個加法運算符搞定,如:
var str1 = "I,love,you!"; var str2 = "Do,you,love,me?"; var str = str1 + str2 + "Yes!";//"I,love,you!Do,you,love,me?Yes!"
使用js自帶 strObj1.concat(strObj2) 方法也可實現(xiàn)
var str1 = "I,love,you!"; var str2 = "Do,you,love,me?"; var str = str1.concat(str2);//"I,love,you!Do,you,love,me?"
8、字符串切割和提取
有三種方法可實現(xiàn),分別為:
(1)、strObj.slice(satrt,end):第一個參數(shù)必需,要提取字符串的起始下標。如果為負數(shù)的話,則該參數(shù)規(guī)定的是從字符串的尾部開始算起的位置。也就是說,-1 指字符串的最后一個字符,-2 指倒數(shù)第二個字符,以此類推,第二個參數(shù)可選,與strObj.substring()類似。
var myStr = "I,love,you,Do,you,love,me"; var subStr = myStr.slice(1,5);//",lov"
(2)、strObj.substring(start,end):第一個參數(shù)必需,不能為負數(shù),提取字符串初始位置,第二個參數(shù)可選,strObj[end]不提取。
var myStr = "I,love,you,Do,you,love,me"; var subStr = myStr.substring(1,5); //",lov";
(3)、strObj,substr(start,length):第一個參數(shù)必需,提取字符串的初始位置,第二個參數(shù)可選,表示提取字符串長度,不寫的話默認提取到字符串末尾。
var myStr = "I,love,you,Do,you,love,me"; var subStr = myStr.substr(1,5); //",love"
9、字符串大小寫轉(zhuǎn)換
常用的轉(zhuǎn)換為大寫或者小寫字符串函數(shù),如下:
var myStr = "I,love,you,Do,you,love,me"; var lowCaseStr = myStr.toLowerCase();//"i,love,you,do,you,love,me"; var upCaseStr = myStr.toUpperCase();//"I,LOVE,YOU,DO,YOU,LOVE,ME"
10、字符串匹配
字符串匹配可能需要你對正則表達式有一定的了解,先來看看match()函數(shù):
var myStr = "I,love,you,Do,you,love,me"; var pattern = /love/; var result = myStr.match(pattern);//["love"] console.log(result .index);//2 console.log(result.input );//I,love,you,Do,you,love,me
如你所見,match()函數(shù)在字符串上調(diào)用,并且接受一個正則的參數(shù)。來看看第二個例子,使用exec()函數(shù):
var myStr = "I,love,you,Do,you,love,me"; var pattern = /love/; var result = pattern .exec(myStr);//["love"] console.log(result .index);//2 console.log(result.input );//I,love,you,Do,you,love,me
簡單吧,僅僅是把正則和字符串換了個位置,即exec()函數(shù)是在正則上調(diào)用,傳遞字符串的參數(shù)。對于上面兩個 方法,匹配的結(jié)果都是返回第一個匹配成功的字符串,如果匹配失敗則返回null. 再來看一個類似的方法search(),如:
var myStr = "I,love,you,Do,you,love,me"; var pattern = /love/; var result = myStr.search(pattern);//2
僅返回查到的匹配的下標,如果匹配失敗則返回-1.
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/83455.html
摘要:但是在中,的生命還會繼續(xù)。這其中最典型的問題便是批量增加元素。這時,如果構(gòu)造函數(shù)被調(diào)用時沒有參數(shù),則會自動設(shè)置為。因為從系統(tǒng)的角度來說,當你用字符串的時候,它會被傳進構(gòu)造函數(shù),并且重新調(diào)用另一個函數(shù)。 序言 在今天,JavaScript已經(jīng)成為了網(wǎng)頁編輯的核心。尤其是過去的幾年,互聯(lián)網(wǎng)見證了在SPA開發(fā)、圖形處理、交互等方面大量JS庫的出現(xiàn)。 如果初次打交道,很多人會覺得js很簡單...
摘要:上篇說了一些中數(shù)組操作的常見誤區(qū),這次來總結(jié)一下初學(xué)者常見的其他易錯點。小心它的精度問題。這就是存在的唯一意義。而包括在內(nèi)所有瀏覽器所以對于日期字符串,請注意字符串中是使用橫杠還是斜杠。考慮到負數(shù)時區(qū)的問題,不推薦將小時數(shù)清零的做法。 上篇說了一些 JS 中數(shù)組操作的常見誤區(qū),這次來總結(jié)一下初學(xué)者常見的其他易錯點。 寫立即執(zhí)行函數(shù)時前置 void 立即執(zhí)行函數(shù)(IIFE)在 JS 非常...
摘要:而第一種方法只能判斷引用類型,不能判斷值類型,因為值類型沒有對應(yīng)的構(gòu)造函數(shù)描述一個對象的過程生成一個新的空對象指向這個新對象執(zhí)行構(gòu)造函數(shù)中的代碼,即對賦值將新對象的屬性指向構(gòu)造函數(shù)的屬性返回,即得到新對象。 最近在在看前端面試教程,這篇文章里大部分是看視頻的過程中自己遇到的不清楚的知識點,內(nèi)容很簡單,只是起到一個梳理作用。有些地方也根據(jù)自己的理解在作者的基礎(chǔ)上加了點東西,如有錯誤,歡迎...
摘要:常見的六大安全問題有點擊劫持跳轉(zhuǎn)漏洞注入命令注入攻擊,跨站腳本攻擊,因為縮寫和重疊,所以只能叫。這是預(yù)防攻擊竊取用戶最有效的防御手段。命令注入攻擊命令注入攻擊指通過應(yīng)用,執(zhí)行非法的操作系統(tǒng)命令達到攻擊的目的。 隨著互聯(lián)網(wǎng)的快速發(fā)展和前端的多樣性,瀏覽器已經(jīng)成一種十分重要的上網(wǎng)工具,也是要有越來越多的交互操作需要瀏覽器來支持,所以針對瀏覽器的安全問題也越來越重要。瀏覽器安全其實是受同源策...
閱讀 3954·2021-07-28 18:10
閱讀 2646·2019-08-30 15:44
閱讀 1165·2019-08-30 14:07
閱讀 3516·2019-08-29 17:20
閱讀 1643·2019-08-26 18:35
閱讀 3599·2019-08-26 13:42
閱讀 1876·2019-08-26 11:58
閱讀 1665·2019-08-23 18:33