JavaScript基礎(chǔ)知識(shí)之方法匯總結(jié)
數(shù)組的方法:
array.concat 一個(gè)數(shù)組去連接另一個(gè)數(shù)組,返回一個(gè)合成數(shù)組。var arrC=arrA.concat(arrB,'asd','sad',true,1.5);
array.join 將數(shù)組用指定符號(hào)連接為一個(gè)字符串,并返回這個(gè)字符串。比用+快很多。var strA=arrA.join(",");//默認(rèn)為逗號(hào)
array.pop 移除數(shù)組最后一個(gè)元素,并返回這個(gè)元素.var A=arrA.pop();
array.push 將一個(gè)或多個(gè)參數(shù)附加到數(shù)組的尾部,并返回一個(gè)新長(zhǎng)度值。arrA.push("asd");
array.shift 移除數(shù)組的第一個(gè)元素,并返回這個(gè)元素。它比pop慢得多,原因我想應(yīng)該就是這僅僅只是一個(gè)偽數(shù)組,刪除第一個(gè)要將所有的元素往前推一格。var A=arrA.shift();
array.unshift 講一個(gè)或多個(gè)參數(shù)附加到數(shù)組的頭部。arrA.unshift("asd");
array.reverse 反轉(zhuǎn)數(shù)組里元素的順序。var arrB=arrA.reverse();
array.slice 對(duì)數(shù)組做一段淺復(fù)制。然后賦值兩個(gè)下標(biāo)之間的數(shù)組,返回一個(gè)新的數(shù)組。var arrB=arrA.slice(0,3);//將第0,1,2個(gè)元素取出,后面的3也可以不填
array.sort 對(duì)數(shù)組中的內(nèi)容進(jìn)行排序。arrA.sort();//默認(rèn)會(huì)吧元素都轉(zhuǎn)化為字符串并進(jìn)行比較。當(dāng)然也可以將一個(gè)比較函數(shù)作為參數(shù)傳進(jìn)去
arrA.sort(function(a,b){
return a-b;
});
array.splice 從數(shù)組中移除一個(gè)或者多個(gè)元素,并用新的元素替代它們。var arrB=arrA.splice(0,3,'asd','ads');//移除從下標(biāo)0開始的3個(gè)元素,并用后面兩個(gè)元素進(jìn)行替換
函數(shù)的方法:
function.apply 調(diào)用函數(shù),傳遞一個(gè)被綁定到this之上的對(duì)象,和一個(gè)可選的數(shù)組作為參數(shù)數(shù)組。
數(shù)字的方法:
number.toExponential 將這個(gè)數(shù)字轉(zhuǎn)換為一個(gè)指數(shù)形式的字符串。Math.PI.toExponential(2);//3.14e+0
number.toFixed 將這個(gè)數(shù)字轉(zhuǎn)換為一個(gè)十進(jìn)制數(shù)形式的字符串。Math.PI.toFixed(2);//3.14,保留兩位小數(shù)
number.toPrecision 將這個(gè)數(shù)字轉(zhuǎn)換為一個(gè)十進(jìn)制數(shù)形式的字符串。Math.PI.toPrecision(2);//3.1,保留兩個(gè)有效數(shù)字
number.toString 將這個(gè)數(shù)字轉(zhuǎn)換為一個(gè)字符串。Math.PI.toString(2);//這里的2表示進(jìn)制,而不是精度
對(duì)象的方法:
object.hasOwnProperty 判斷對(duì)象是否包含一個(gè)以指定字符串命名的屬性
正則表達(dá)式的方法:
regexp.exec
如果成功匹配,會(huì)返回一個(gè)數(shù)組。下標(biāo)0會(huì)返回匹配的原字符串,1~后面返回的是分組1~捕獲的文本。
如果帶有g(shù)標(biāo)識(shí)(全局標(biāo)識(shí)),那么查找不是從字符串開始的位置開始,而是從regexp.lastIndex開始。如果匹配成功,那么會(huì)設(shè)置regexp.lastIndex為匹配成功的字符串第一個(gè)字符的位置,否則重置為0。
regexp.test 如果成功匹配,返回true,否則false
字符串的方法:
string.charAt 返回在字符串中指定位置處的字符
string.charCodeAt 返回在字符串中指定位置處的字符的ASCII碼值
string.concat 將其它字符串連接到一起,返回一個(gè)新的合成字符串。實(shí)際上用+更方便,且更直觀。
string.indexOf 在此字符串中查找指定的另外一個(gè)字符串,如果找到了,就返回第一個(gè)找到的字符串的位置,否則返回-1."asdasd".indexOf("sd",2);//值為4,2表示從第3個(gè)字符開始查找
string.lastIndexOf 這個(gè)與上面的相似,只不過是從字符串尾部開始查找
string.localeCompare 比較兩個(gè)字符串。strA.localeCompare(strB);//結(jié)果也是返回正數(shù),負(fù)數(shù),零,你懂的
string.replace 對(duì)一個(gè)字符串進(jìn)行查找并替換的操作,并返回新的字符串(以下名字標(biāo)紅的方法,都是可以應(yīng)用正則表達(dá)式的)
常規(guī)方法:
'asdasd'.replace('as','d');//結(jié)果為ddasd,replace只會(huì)替換第一次的出現(xiàn)位置。
正則表達(dá)式方法:
加g標(biāo)識(shí)匹配多次,不加匹配一次
var regExp=/ee(asd\d{0,3})/g;//加g標(biāo)識(shí)匹配多次,不加匹配一次
var p='eeasd1323'.replace(regExp,'$1end');//結(jié)果為eeasd1323end
//'$1end'的位置也可以放一個(gè)函數(shù),每次匹配到會(huì)運(yùn)行這個(gè)函數(shù),然后用函數(shù)的返回值替換,這里就不舉栗子了
'$1end'這個(gè)東西的解釋是這樣的:
$$:表示$這個(gè)符號(hào)
$&: 表示$&整個(gè)匹配到的文本
$number:表示分組捕獲到的文本,比如上面的$1就是捕獲分組1捕捉到的文本
$`:匹配之前的文本
$':匹配之后的文本
string.match 讓一個(gè)字符串和一個(gè)正則表達(dá)式匹配。它依據(jù)g標(biāo)識(shí)來決定如何進(jìn)行匹配。
如果沒有g(shù)標(biāo)識(shí),匹配結(jié)果與regexp.exec效果一樣
如果有,那么會(huì)生成一個(gè)包含所有匹配(除捕獲分組之外這個(gè)括號(hào)里的搞不懂什么意思,明明就匹配了所有的)的數(shù)組
string.search 與indexof相似,只是接收一個(gè)正則表達(dá)式匹配而已。此方法忽略g標(biāo)識(shí)。
string.split 將字符串分割來創(chuàng)建一個(gè)字符串?dāng)?shù)組。此方法忽略g標(biāo)識(shí)。
一般的玩法
var digits='0123456789';
var arr=digits.split('',5);//5表示得到的數(shù)組頂多五個(gè)元素,多余的去掉
//結(jié)果為['0','1','2','3','4']
正則表達(dá)式的玩法
var text='troy ,123 , good ';
var d=text.split(/\s*,\s*/);//前面講過\s表示unicode各種空字符,然后所以匹配的分隔符就是包含空字符的逗號(hào),這樣就自動(dòng)去掉空字符了,好強(qiáng)大
//但是有特例哦,來自分組捕獲的文本會(huì)被包含在分割后的字符,所以我個(gè)人建議那就別用分組捕獲好了,在這里沒必要
string.slice 復(fù)制字符串的一部分來構(gòu)造一個(gè)新的字符串
string.substring 與slice效果一樣,只是不能使用負(fù)數(shù)下標(biāo)。沒有任何理由使用substring而不是slice(作者說的)。其實(shí)是有的,比如字面意思上我就知道什么意思了。
string.toLowerCase 返回一個(gè)全部小寫化的新字符串。
string.toLocaleLowerCase 同上,土耳其語專用,所以你就當(dāng)看不見好了
string.toUpperCase 返回一個(gè)全部大寫化的新字符串。
string.toLocaleUpperCase 同上,土耳其語專用,所以你就當(dāng)看不見好了
String.fromCharCode 看好哦,string是大寫哦。所以不是在字符串后面調(diào)用,而是用String調(diào)用。根據(jù)一串?dāng)?shù)字編碼返回一個(gè)字符串。(我相信你基本上用不到的)
相關(guān)文章
小程序?qū)崿F(xiàn)訂單評(píng)價(jià)和商家評(píng)價(jià)
這篇文章主要為大家詳細(xì)介紹了小程序?qū)崿F(xiàn)訂單評(píng)價(jià)和商家評(píng)價(jià)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04JavaScript 格式化數(shù)字、金額、千分位、保留幾位小數(shù)、舍入舍去
這篇文章主要介紹了JavaScript 格式化數(shù)字、金額、千分位、保留幾位小數(shù)、舍入舍去,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07教你用Uniapp實(shí)現(xiàn)微信小程序的GPS定位打卡
地圖組件用于展示地圖,而定位API只是獲取坐標(biāo),請(qǐng)勿混淆兩者,下面這篇文章主要給大家介紹了關(guān)于如何使用Uniapp實(shí)現(xiàn)微信小程序的GPS定位打卡的相關(guān)資料,需要的朋友可以參考下2022-11-11js操作時(shí)間(年-月-日 時(shí)-分-秒 星期幾)
js操作時(shí)間(年-月-日 時(shí)-分-秒 星期幾),需要的朋友可以參考下。2010-06-06js實(shí)現(xiàn)頁面轉(zhuǎn)發(fā)功能示例代碼
本文為大家介紹的是使用js實(shí)現(xiàn)頁面轉(zhuǎn)發(fā),具體實(shí)現(xiàn)如下,感興趣的朋友可以參考下,希望對(duì)大家有所幫助2013-08-08