摘要:字符串拼接作為前端工程師,大部分時間在和業(yè)務(wù)作斗爭,當(dāng)然可能有一些例外,不過大體如是,而在處理業(yè)務(wù)時總會和字符串打交道,而字符串的拼接和截取是無法避免的,這里對這些部分進行一些探索。返回值提取的字符串語法參數(shù)值必需。子串中的字符數(shù)。
JavaScript字符串拼接
作為前端工程師,大部分時間在和業(yè)務(wù)作斗爭,當(dāng)然可能有一些例外,不過大體如是,而在處理業(yè)務(wù)時總會和字符串打交道,而字符串的拼接和截取是無法避免的,這里對這些部分進行一些探索。
JavaScript字符串拼接目前本文打算探索的方法包括:
+=
Array.prototype.join【數(shù)組】
String.prototype.concat [字符串]
這是比較常見的方法;代碼如下:
var arrayTest = []; for(var i=0;i<1000000;i++){ arrayTest.push(i); } //test += used time var startTimex, endTimex, resx; startTimex = new Date().getTime(); for(var x=0, xlen=arrayTest.length; x運行測試只是使用了firefox、chrome、safari;結(jié)果如下:
chrome測試結(jié)果:
firefox結(jié)果:
safari結(jié)果:
由于測試的瀏覽器都比較的新,所以上面的結(jié)果表明是join的方法還是效率要高點,不過這是在龐大的數(shù)據(jù)拼接上體現(xiàn)的,一般業(yè)務(wù)也不會有這么大的拼接,所以其實這個問題已經(jīng)不大了,沒有必要進行特意的注意。
字符串的截取使用的方法是slice、substr、substring 三種方法;
slice:使用方法:string.slice(start,end)
substr
參數(shù)說明
start 必須. 要抽取的片斷的起始下標(biāo)。第一個字符位置為 0
end 可選。 緊接著要抽取的片段的結(jié)尾的下標(biāo)。若未指定此參數(shù),則要提取的子串包括 start 到原字符串結(jié)尾的字符串。如果該參數(shù)是負(fù)數(shù),那么它規(guī)定的是從字符串的尾部開始算起的位置。
返回值:String 提取的字符串語法: string.substr(start,length)
substring
參數(shù)值
start 必需。要抽取的子串的起始下標(biāo)。必須是數(shù)值。如果是負(fù)數(shù),那么該參數(shù)聲明從字符串的尾部開始算起的位置。也就是說,-1 指字符串中最后一個字符,-2 指倒數(shù)第二個字符,以此類推。
length 可選。子串中的字符數(shù)。必須是數(shù)值。如果省略了該參數(shù),那么返回從 stringObject 的開始位置到結(jié)尾的字串。
返回值
String A new string containing the extracted part of the text語法:string.substring(from, to)
區(qū)別
參數(shù)
from 必需。一個非負(fù)的整數(shù),規(guī)定要提取的子串的第一個字符在 string Object 中的位置。
to 可選。一個非負(fù)的整數(shù),比要提取的子串的最后一個字符在 string Object 中的位置多 1。
如果省略該參數(shù),那么返回的子串會一直到字符串的結(jié)尾。三個方法之間的主要區(qū)別如下:
三個方法的參數(shù)1都代表子串開始位置,參數(shù)2在slice和substring中表示結(jié)束位置,而在substr中代表的則是子串長度;
對于負(fù)數(shù)態(tài)度,當(dāng)出現(xiàn)在參數(shù)1的位置時,slice和substr從末尾開始計算,而substring不支持末尾計數(shù)法直接視為0;當(dāng)出現(xiàn)在參數(shù)2位置時,slice和substring的處理同參數(shù)1:前者從末尾開始計算,后者轉(zhuǎn)換成0,而substr則視負(fù)數(shù)長度為0返回空串;
對于參數(shù)1小于參數(shù)2的情況,substring最大的不同在于它會交換兩個參數(shù)再截取子串,substr因第二參數(shù)表示的是長度因此并無異常,slice曽依然正常搜尋子串始末位置,若開始位置在結(jié)尾后邊則返回空串。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/84013.html
摘要:此文章是我的原創(chuàng)文章,原文地址前篇整理了一些常用的遍歷操作方法,今天再整理一下對象中針對元素操作的方法。返回當(dāng)前數(shù)組最后一個元素描述返回數(shù)組第一個元素,并從當(dāng)前數(shù)組中刪除它。刪除的元素組成的數(shù)組 此文章是我的原創(chuàng)文章,原文地址:http://lpgray.me/article/49/ 前篇整理了一些Array常用的遍歷操作方法,今天再整理一下Array對象中針對元素操作的方法。 分別是...
摘要:字符方法接收一個參數(shù),基于的字符位置。返回的是字符編碼。方法這個方法會創(chuàng)建一個字符串的副本,刪除前置及后綴的所有空格,然后返回結(jié)果。方法這個方法的任務(wù)是接收一個或者多個字符編碼,然后將它們轉(zhuǎn)換成一個字符串。 字符方法 1、charAt()接收一個參數(shù),基于0的字符位置。以單字符串的形式返回給定位置的那個字符。 var stringValue = hello world; c...
摘要:功能將數(shù)組元素通過指定的字符連接成字符串參數(shù)拼接字符串返回值拼接后的字符串注意數(shù)組本身不發(fā)生變化無參數(shù)時,默認(rèn)用連接用連接功能將數(shù)組元素顛倒順序參數(shù)無注意操作的是數(shù)組本身,數(shù)組元素顛倒功能將數(shù)組元素排序參數(shù)比較函數(shù)注意操作的是數(shù) join(sep) 功能:將數(shù)組元素通過指定的字符連接成字符串 參數(shù): sep:拼接字符串 返回值:拼接后的字符串 注意:數(shù)組本身不發(fā)生變化 v...
摘要:函數(shù)可以沒有返回值,會在最后面返回一個。事物的行為在對象中用方法來表示。 11. 函數(shù) 11.1 函數(shù)的基礎(chǔ)知識 為什么會有函數(shù)? 在寫代碼的時候,有一些常用的代碼需要書寫很多次,如果直接復(fù)制粘貼的話,會造成大量的代碼冗余;函數(shù)可以封裝一段重復(fù)的javascript代碼,它只需要聲明一次,就可以多次調(diào)用; 冗余代碼: 冗余:多余的重復(fù)或啰嗦內(nèi)容 缺點: 代碼重復(fù),可閱讀性差 ...
摘要:基礎(chǔ)建議一般情況下不在標(biāo)簽中寫語句,因為該語句會在加載之前就執(zhí)行,可能導(dǎo)致某些效果無效單行注釋多行注釋控制臺輸出語句瀏覽器的提示框這是一個提示框頁面展示數(shù)據(jù)類型一基本數(shù)據(jù)類型數(shù)字類型整型浮點型不是一個數(shù)字不能處理的數(shù)字字符串,使用單引號或雙 1.js基礎(chǔ) 建議:一般情況下不在head標(biāo)簽中寫js語句,因為該js語句會在body加載之前就執(zhí)行,可能導(dǎo)致某些效果無效 // 單行注釋 /*多...
閱讀 2444·2021-10-09 09:44
閱讀 3817·2021-09-22 15:43
閱讀 2934·2021-09-02 09:47
閱讀 2556·2021-08-12 13:29
閱讀 3879·2019-08-30 15:43
閱讀 1689·2019-08-30 13:06
閱讀 2195·2019-08-29 16:07
閱讀 2756·2019-08-29 15:23