js 內置對象常用方法



1 內容概述

js包含一些內置對象,如Array,Function,String等,這些是基本的,常用的js類,所以了解它們十分重要;把他們的方法,用例子和文字簡要的記錄下來,方便今后參看。

2 Array

 

2.1 array.concat(item…)

返回一個新數組;
新數組的內容包括:1. array自己的淺拷貝;2. item項,注意,若item是數組,則把這個數組的各項淺拷貝后,添加到新數組中。

2.2 array.join(separator)

返回array的字符串表示,表達格式是array的內容通過separator連接成的字符串。默認separator是‘,’。

2.3 array.pop()

移除數組的最后一個元素,並將這個元素作為返回值。array為空時,返回undefined。

2.4 array.push(item…)

將item添加到array的尾部,返回array的新長度值。
注意,若item是數組,則把它作為array的一項直接加入,這和concat的處理方式不同.
與concat的區別:1. push()修改array,而concat()生成新數組;2. 對於item是數組的情況,處理方式不同。

2.5 array.reverse()

倒置array的內容,並返回array。

2.6 array.shift()

移除array的第一個項,返回被刪除的這個項。array為空時,返回undefined。

2.7 array.unshift(item…)

與push()類似, 將item們插入array頭部, 返回array的新長度.

2.8 array.slice(start, end)

淺復制array的內容, 復制范圍[array[start], array[end]), 返回一個新數組。
說明: 1. end是可選的, 默認是array.length; 2.start和end負數時, 處理方式是把start,end與array.length相加; 3.start>=array.length時, 返回空數組. 例如,

var a = [1, 2, 3];
var b = a.slice(1, 2); // b is [2]

2.9 array.sort(compareFunction)

將數組根據比較函數定義的規則重新排序后,返回array. 默認是將array的內容按照字符串的形式比較, 所以通常需要自定義比較函數; 比較函數的一般形式是function (a, b) {…}, 若a<=b時則a在b之前, a>b時則a在b之后.

2.10 array.splice(start, deleteCount, newItem…)

把array從start位置開始, 刪除deleteCount個項, 並將newItem加入到start位置; 最后返回一個數組, 包含被刪除的元素.newItem是可選參數. 例如,

var a = ['a', 'b', 'c'];
var b = a.splice(1, 1, 'd');
// a is ['a', 'd', 'c'], b is ['b']

3 Number

 

3.1 number.toExponential(fractionDigits)

將數字轉換為指數表示形式字符串,fractionDigits指定指數的小數位的位數, 取值區間[0,20].

3.2 number.toFixed(fractionDigits)

將數字表示成10進制字符串, fractionDigits同上.

3.3 number.toPrecision(precision)

與toFixed()類同, 只是precision指定的是數字的有效位數, 取值范圍[0,21].

3.4 number.toString(radix)

將number轉換為需要的進制字符串形式,radix默認是10.

4 RegExp

 

4.1 regexp.exec(String)

匹配成功, 返回數組,數組第一個項是匹配的整個字符串, 此后項是匹配分組,最后是匹配信息如配置位置,輸入的字符串;若找不到匹配, 返回null.
lastIndex屬性: 當regexp帶有'g'全局標識時, regexp對象維護一個lastIndex屬性,每次exec()從lastIndex開始查找;
這個值在exec每次成功執行后, 取值配置成功字符串的后一個字符開始位置.在配置失敗后, lastIndex被設置為0.
使用注意的地方, 就在於若在配置成功又不再執行exec時, 需要手動將lastIndex設置為0.
常規使用模式,

var text = 'string';
var regexp = /regexp/g;;
var array;
while (array = regexp.exec(string)) {
    ..... //todo something
}

4.2 regexp.test(String)

regexp配置string, 則返回true, 否則返回false.
test()時, 不應使用g, 性能優於exec().

5 String

 

5.1 string.charAt(pos)

返回pos位置上的字符串(js沒有char類型). 若pos<0或>=string.length, 則返回空字符串.

5.2 string.charCodeAt(pos)

與charAt()的區別在於返回位置上字符串對應的字符編碼值(unicode), 若pos不在合法范圍內, 就返回NaN. 示例,

var s = '戴忠';
var i;
for (i = 0; i < s.length; i++) {
    console.log(i + ' ' + s.charAt(i) + ' ' + s.charCodeAt(i));  // 0 戴 25140 1 忠 24544
}

5.3 string.concat(string…)

將字符串連接在一起並返回.

5.4 string.indexOf(searchString, pos)

從string的pos開始向后查找searchString, 若找到則返回searchString出現的初始位置,否則返回-1.

5.5 string.lastIndexOf(searchString, pos)

它與indexOf(searchString, pos)的區別在於查找方向相反, 從pos位置開始向前查找.

5.6 str1.localeCompare(str2)

比較兩個字符串, 若str1<str2則返回負數, 若相等則返回0, 否則正數.

5.7 string.match(regexp)

若regexp帶'g', 則返回包含匹配內容的數組(不包含分組).沒有'g'時, 則和regexp.exec(string)返回相同的結果. 例如,

var s1 = '1a2b';
var reg1 = /\d+/;
var reg2 = /[^\d]+/g;
var reg3 = /(\d)+/;
console.log(reg1.exec(s1));  // [ '1', index: 0, input: '1a2b' ]
console.log(s1.match(reg1)); // [ '1', index: 0, input: '1a2b' ]
console.log(s1.match(reg3)); // [ '1', '1', index: 0, input: '1a2b' ]
console.log(s1.match(reg2)); // [ 'a', 'b' ]

5.8 string.replace(searchValue, replaceValue)

將string中匹配searchValue的內容, 用repalceValue取代, 最后返回生成的新字符串.一般只替換第一次配置的內容, 在包含'g'時, 全部替換. 參數說明:

  1. searchValue是字符串, 或者是正則表達式;
  2. repalceValue可包含一些特殊含義的內容, 如
特殊字符 替換值
$$ $
$& 整個匹配的文本
$number 分組捕獲的文本
$` 匹配之前的文本
$' 匹配之后的文本
3.replaceValue可以是函數, 在匹配時依次傳入, 匹配的整個文本, 第一個捕獲分組, 第二個捕獲分組, 依次其他分組. 這個函數的返回值作為實際的取代值.

5.9 string.search(regexp)

與indexOf()功能類似, 返回值情況相同. 這個方法忽略'g'.

5.10 string.slice(start, end)

復制string的內容, 范圍[start, end), 不包含end位置的內容. 這個函數的參數取值情況和array.slice()參數取值情況差不多.

5.11 string.split(separator, limit)

將string根據separator的要求分隔內容, 返回形成的數組.limit參數是可選的, 表示分隔的最大個數.separator是一個字符串或者正則表達式.這個方法忽略'g'.

5.12 string.toLowerCase()

返回小寫的新字符串.

5.13 string.toUpperCase()

返回大寫的新字符串.

5.14 String.fromCharCode(code…)

參數是一些數值, 把這些數值作為字符的編碼值對待, 返回一個字符串. 這個方法和charCodeAt()相反.

var str = String.fromCharCode(25140, 24544);
console.log(str)

 


免責聲明!

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



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