常用數組、字符串方法總結&獲取元素、DOM操作


字符串的方法、返回值、是否改變原字符串:
1 charAt() 方法可返回指定位置的字符。
不改變原始字符串
JavaScript並沒有一種有別於字符串類型的字符數據類型,返回的字符是長度為 1 的字符串;
注釋:字符串中第一個字符的下標是 0。如果參數 index 不在 0 與 string.length 之間,該方法將返回一個空字符串。

2 concat() 方法用於連接兩個或多個字符串並返回連接后的字符串
不改變原始字符串
語法:stringObject.concat(stringX,stringX,...,stringX);
注釋:原始字符串沒有發生改變,而且使用 " + " 運算符來進行字符串的連接運算通常會更簡便一些。

3 indexOf() 方法可返回某個指定的字符串值在字符串中首次出現的位置的下標。
不改變原始字符串
語法:stringObject.indexOf(searchvalue,fromindex) 第二個參數可以省略,是設置的開始檢索的位置;
注釋:indexOf()對大小寫敏感,如果沒有找到,返回值為-1(之所以返回-1是保持數據類型一致原則);

4 lastIndexOf() 方法可返回一個指定的字符串值最后出現的位置的下標;
不改變原始字符串
即在一個字符串中的指定位置從后向前搜索。
語法:stringObject.lastIndexOf(searchvalue,fromindex) 第二個值為可選參數,是設置開始檢索的位置

5 slice() 方法可提取字符串的某個部分,並以新的字符串返回被提取的部分。
不改變原始字符串;
語法:stringObject.slice(start,end);
start 要抽取的片斷的起始下標。如果是負數,則該參數規定的是從字符串的尾部開始算起的位置。也就是說,-1 指字符串的最后一個字符,-2 指倒數第二個字符,以此類推。
end 緊接着要抽取的片段的結尾的下標。若未指定此參數,則要提取的子串包括 start 到原字符串結尾的字符串。如果該參數是負數,那么它規定的是從字符串的尾部開始算起的位置。
返回值是:一個新的字符串。包括字符串 stringObject 從 start 開始(包括 start)到 end 結束(不包括 end)為止的所有字符。

注釋:String 對象的方法 slice()、substring() 和 substr() (不建議使用)都可返回字符串的指定部分。slice() 比 substring() 要靈活一些,因為它允許使用負數作為參數。slice() 與 substr() 有所不同,因為它用兩個字符的位置來指定子串,而 substr() 則用字符位置和長度來指定子串。
還要注意的是,String.slice() 與 Array.slice() 相似。


6 split() 方法用於把一個字符串分割成字符串數組。不改變原始字符串;
語法:stringObject.split(separator,howmany);
separator 必需。字符串或正則表達式,從該參數指定的地方分割 stringObject。
howmany 可選。該參數可指定返回的數組的最大長度。如果設置了該參數,返回的子串不會多於這個參數指定的數組。如果沒有設置該參數,整個字符串都會被分割,不考慮它的長度。
注釋:如果把空字符串 ("") 用作 separator,那么 stringObject 中的每個字符之間都會被分割。

注釋:String.split() 執行的操作與 Array.join 執行的操作是相反的。

7 substr() 方法可在字符串中抽取從 start 下標開始的指定數目的字符。
返回值是一個新的字符串;
原始字符串未改變;
語法:stringObject.substr(start,length);
start 必需。要抽取的子串的起始下標。必須是數值。如果是負數,那么該參數聲明從字符串的尾部開始算起的位置。也就是說,-1 指字符串中最后一個字符,-2 指倒數第二個字符,以此類推。
length 可選。子串中的字符數。必須是數值。如果省略了該參數,那么返回從 stringObject 的開始位置到結尾的字串。
注釋:ECMAscript 沒有對該方法進行標准化,因此反對使用它。

8 substring() 方法用於提取字符串中介於兩個指定下標之間的字符。
stringObject.substring(start,stop);
原始字符串未改變;
返回值:一個新的字符串,該字符串值包含 stringObject
的一個子字符串,其內容是從 start 處到 stop-1 處的所有字符,其長度為 stop 減 start。
start 必需。一個非負的整數,規定要提取的子串的第一個字符在 stringObject 中的位置。
stop 可選。一個非負的整數,比要提取的子串的最后一個字符在 stringObject 中的位置多 1。

如果省略該參數,那么返回的子串會一直到字符串的結尾。

9 toLowerCase() 方法用於把字符串轉換為小寫。
stringObject.toLowerCase();
原始字符串不發生改變;
返回值:一個新的字符串,在其中stringObject的所有大寫字符全部被轉換為了小寫字符。

10 toUpperCase() 方法用於把字符串轉換為大寫。
語法:stringObject.toUpperCase();
原始字符串不發生改變;
返回值:一個新的字符串,在其中stringObject的所有小寫字符全部被轉換為了大寫字符。

---------------------------------------------------------------------------------
字符串的方法、返回值、是否改變原字符串:

1 concat() 方法用於連接兩個或多個數組。
該方法不會改變現有的數組,而僅僅會返回被連接數組的一個副本。
arrayObject.concat(arrayX,arrayX,......,arrayX)
arrayX 必需。該參數可以是具體的值,也可以是數組對象。可以是任意多個。
返回一個新的數組。該數組是通過把所有 arrayX 參數添加到 arrayObject 中生成的。如果要進行 concat() 操作的參數是數組,那么添加的是數組中的元素,而不是數組。
2 join() 方法用於把數組中的所有元素放入一個字符串。
不改變原始數組;
語法:arrayObject.join(separator);
separator 可選。指定要使用的分隔符。如果省略該參數,則使用逗號作為分隔符。
返回一個字符串。該字符串是通過把 arrayObject的每個元素轉換為字符串,然后把這些字符串連接起來,在兩個元素之間插入 separator 字符串而生成的。
3 pop() 方法用於刪除並返回數組的最后一個元素。
語法:arrayObject.pop();
改變了原始數組;
返回值:arrayObject 的最后一個元素。
注釋:pop() 方法將刪除 arrayObject 的最后一個元素,把數組長度減 1,並且返回它刪除的元素的值。如果數組已經為空,則 pop() 不改變數組,並返回 undefined 值。
4 push() 方法可向數組的末尾添加一個或多個元素,並返回新的長度。
改變了原始數組;
語法:arrayObject.push(newelement1,newelement2,....,newelementX)
newelement1 必需。要添加到數組的第一個元素。
newelement2 可選。要添加到數組的第二個元素。
newelementX 可選。可添加多個元素。
返回值:把指定的值添加到數組后的新長度。

注釋:push() 方法可把它的參數順序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是創建一個新的數組。push() 方法和 pop() 方法使用數組提供的先進后出棧的功能。
5 reverse() 方法用於顛倒數組中元素的順序。
語法:arrayObject.reverse();
該方法會改變原來的數組;
6 shift() 方法用於把數組的第一個元素從其中刪除,並返回第一個元素的值。
arrayObject.shift();
該方法改變原始數組;
返回值:數組原來的第一個元素的值。
注釋:如果數組是空的,那么 shift() 方法將不進行任何操作,返回 undefined 值。
7 slice() 方法可從已有的數組中返回選定的元素。
語法:arrayObject.slice(start,end);
該方法不會改變原始數組;
start 必需。規定從何處開始選取。如果是負數,那么它規定從數組尾部開始算起的位置。也就是說,-1 指最后一個元素,-2 指倒數第二個元素,以此類推。
end 可選。規定從何處結束選取。該參數是數組片斷結束處的數組下標。如果沒有指定該參數,那么切分的數組包含從 start 到數組結束的所有元素。如果這個參數是負數,那么它規定的是從數組尾部開始算起的元素。
返回值:返回一個新的數組,包含從 start 到 end (不包括該元素)的 arrayObject 中的元素。
注釋:使用負值從數組的尾部選取元素。
注釋:如果 end 未被規定,那么 slice()方法會選取從 start到數組結尾的所有元素。
8 sort() 方法用於對數組的元素進行排序。
arrayObject.sort();
改變原始數組;
返回值:改變后的原始數組;
arr.sort(function(n,m){
return n-m;
}
9 splice() 方法用於插入、刪除或替換數組的元素。
語法:arrayObject.splice(index,howmany,element1,.....,elementX);
返回值:如果從 arrayObject 中刪除了元素,則返回的是含有被刪除的元素的數組。
var arr = [1,3,3,2,5,9,12,21,11];
console.log(arr.splice(2,2)) ---->[3,2]
console.log(arr) ----> [1, 3, 5, 9, 12, 21, 11]
該方法改變原始數組;
index 必需。規定從何處添加/刪除元素。
該參數是開始插入和(或)刪除的數組元素的下標,必須是數字。
howmany 必需。規定應該刪除多少元素。必須是數字,但可以是 "0"。
如果未規定此參數,則刪除從 index 開始到原數組結尾的所有元素。
element1 可選。規定要添加到數組的新元素。從 index 所指的下標處開始插入。
elementX 可選。可向數組添加若干元素。
10 toString() 方法可把數組轉換為字符串,並返回結果。
語法:arrayObject.toString();
不改變原始數組;
返回值:arrayObject 的字符串表示。返回值與沒有參數的 join() 方法返回的字符串相同。

11 unshift() 方法可向數組的開頭添加一個或更多元素,並返回新的長度。
該方法改變原始數組
語法:arrayObject.unshift(newelement1,newelement2,....,newelementX)
newelement1 必需。向數組添加的第一個元素。
newelement2 可選。向數組添加的第二個元素。
newelementX 可選。可添加若干個元素。
返回值:arrayObject 的新長度。

---------------------------------------------------------------------------------
DOM
1 獲取元素:
document.getElementById('id名')
獲取的是一個,父級必須是document
document.getElementsByTagName('標簽名')
獲取的是一組,父級不一定是document
document.getElementsByClassName('class名')
一組,高級瀏覽器
document.getElementsByName('name')
一組
document.querySelector('選擇器')
高級瀏覽器 一個
document.querySelectorAll('#div1 p')
一組
父級.children
獲取的第一層子級
childNode
可以獲取文本節點
parentNode

firstChild
高級瀏覽器中識別文本節點
低級瀏覽器中只識別元素節點
firstELementChild
在高級瀏覽器中識別的是元素節點
在低級瀏覽器中是undefined

lastChild
lastELementChild

previousSibling
previousELementSibling

nextSibling
nextELementSibling

2創建元素
document.createElement('標簽名')
注:必須在document下創建
3插入元素
父級.appendChild(子級)
父級.insertBefor(把誰,插到誰前)
注:父級.insertBefor(把誰,null)默認執行appendChild
4刪除元素
父級.removeChild()
5克隆元素
obj.cloneNode() 只克隆元素
obj.cloneNode(true) 包含內容;


6物體的信息 offsetTop
offsetLeft
相對於定位父級的
getPos(obj){
var l=0;
var t=0;
while(obj){
l+=obj.offsetLeft;
t+=obj.offsetTop;
obj=obj.offsetParent;
}
return {left:l,top:t}
}
offsetWidth
offsetHeight
獲取的是盒子模型的寬高
scrollHeight
scrollWidht
如果內容沒有超過盒子,獲取的是盒子的高+padding,如果超出獲取的物體內容的寬高

offsetParent
定位的父級
最高級是body 在往上是null
parentNode
結構的父級
最高級是document,在網上是null

7頁面的信息 可視區
document.documentELement.clientWidth
滾動距離
document.documentELement.scrollTop
不兼容chrome
document.body.scrollTop
兼容chrome
8獲取高度的區別

.style .getStyle offsetHeight

100px 100px 100
string string number
在隱藏的情況下 可以獲取 可以獲取 0

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM