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