JS常用的標準函數
1、Array類型函數
array.concat(item…)
函數功能:關聯數組,實現數組相加功能,但并不影響原先數組,concat返回新數組。
array.join(separator)
函數功能:將array中的每個元素用separator為分隔符構造成字符串,默認的separator是逗號,當然你可以自己指定separator
事實上join方法最常用的地方在字符串相加,用過js的人都知道js的字符串相加是特別慢且性能特別差的,把大量片段字符串放在一個數組中并用join方法連接比用+連接要快得多。
array.pop()
pop和push方法使數組array像堆棧一樣工作。
函數功能:pop方法移除array中的最后一個元素并返回該元素。
如果array是空的,則返回undefined;
array.push(item…)
函數功能:push方法將一個或多個item參數附加到array尾部。但是它不像concat方法那樣,push方法不會修改item參數,如果參數item是一個數組,它會將參數數組作為單個元素整個添加到數組中,它返回array的新長度
array.reverse()
函數功能:反轉array中元素的順序,返回當前array
array.shift()
函數功能:移除array中的第一個元素并返回該元素,如果array是空的,它會返回undefined。
shift比pop要慢很多
array.slice(start,end)
函數功能:對array中的一段做淺復制。end參數是可選的,默認值為數組的長度array.length。
如果兩個參數中任何一個是負數,array.length將和它們相加來試圖將它們成為非負數。
如果start大于等于array.length,得到的結果將是一個新的空數組
array.sort(compareFn)
函數功能:對array中的內容進行排序。
var n = [4, 8, 15, 16, 23, 43]; n.sort(function (a, b) { return a - b; }); console.log(n); //[4, 8, 15, 16, 23, 43]
var m = ['aa', 'bb', 'a', 4, 8, 15, 16, 23, 43]; m.sort(function (a, b) { if (a === b) { return 0; } if (typeof a === typeof b) { return a < b ? -1 : 1; } return typeof a < typeof b ? -1 : 1; }); console.log(m); //[4, 8, 15, 16, 23, 43, "a", "aa", "bb"]
var compare = function(name) { return function(o, p) { var a, b; if (typeof o === 'object' && typeof p === 'object' && o && p) { a = o[name]; b = p[name]; if (a === b) { return 0; } if (typeof a === typeof b) { return a < b ? -1 : 1; } return typeof a < typeof b ? -1 : 1; } else { throw { name : "Error", message : 'Expected an object when sorting by ' + name }; } }; }; var s = [ { first : 'Joe', last : 'Felix' }, { first : 'Moe', last : 'Besser' }, { first : 'Joe', last : 'Howard' }, { first : 'Shemp', last : 'DeRita' }, { first : 'Larry', last : 'Howard' }, { first : 'Curly', last : 'Fine' }, { first : 'Shirly', last : 'Angela' }];
s.sort(compare('first')); /*
- s = [ { first: 'Curly', last: 'Fine' }, { first: 'Joe', last: 'Felix' }, {
- first: 'Joe', last: 'Howard' }, { first: 'Larry', last: 'Howard' }, { first:
- 'Moe', last: 'Besser' }, { first: 'Shemp', last: 'DeRita' }, { first:
- 'Shirly', last: 'Angela' } ];
*/</pre>
array.splice(start,deleteCount,item…)
函數功能:從array中移除1個或多個元素,并用新的item替換它們。返回一個包含移除元素的數組。
array.unshift(item…)
函數功能:將item插入到array的開始部位。返回array的新長度值。
2、Function類型函數
function.apply(thisArg,argArray)
Function.prototype.bind = function(that) { // 返回一個函數,調用這個函數就像它是那個對象的方法一樣 var method = this, slice = Array.prototype.slice, args = slice.apply(
return function() {arguments, [ 1 ]);
}; }; var x = function() { return this.value; }.bind({ value : 666 }); console.log(x());// 666</pre>return method.apply(that, args.concat(slice.apply(arguments, [ 0 ])));
3、Number類型函數
number.toExponential(fractionDigits)
函數功能:把number轉換成一個指數形式的字符串。可選參數fractionDigits控制其小數點后的數字位數,它的值必須在0到20之間。
number.toFixed(fractionDigits)
函數功能:把number轉換成一個十進制形式的字符串。可選參數fractionDigits控制其小數點后的數字位數,它的值必須在0到20之間。默認為0。
number.toPrecision(precision)
函數功能:把number轉換成一個十進制形式的字符串。可選參數fractionDigits控制其小數點后的數字位數,它的值必須在1到21之間。
number.toString(radix)
函數功能:把number轉換成一個字符串。可靠參數radix控制基數,它的值必須在2和36之間,默認為10
4、Object類型函數
object.hasOwnProperty(name)
函數功能:如果object包含名為name的屬性,hasOwnProperty方法將返回true,原型鏈中的同名屬性是不會被檢查的。
for (name in obj) { if (obj.hasOwnProperty(name)) {
} }</pre></div>console.log(obj[name]);
5、Regexp類型函數
regexp.exec(string)
函數功能:成功匹配regexp和字符串,返回一個數組。
數組中下標為0的元素包含正則表達式regexp匹配的子字符串
下標為1的元素是分組1捕獲的文本,下標為2的元素是分組2捕獲的文本,依此類推。如果匹配失敗,就返回null。
如果regexp帶有一個g(全局)標志,查找不是從這個字符串起始位置開始,而是從regexp.lastIndex(它的初始值為0)位置開始,如果匹配成功,那么regexp.lastIndex將被設置為該匹配后第一個字符的位置。 不成功的匹配會重置regexp.lastIndex為0
regexp.test(string)
函數功能:如果regexp匹配string,返回true 否則返回false
6、String類型函數
string.charAt(pos)
函數功能:返回在string中pos位置處的字符。
如果pos小于0或者大于string.length,將返回空字符串
string.charCodeAt(pos)
函數功能:返回在string中pos位置處的字符的字符編碼。
string.concat(string…)
函數功能:連接字符串(不過很少被使用,因為用運算符+也能實現這個功能)
string.indexOf(searchString,position)
函數功能:在string內查找另一個字符串searchString,如果找到則返回第一個匹配字符的位置,否則返回-1。
可選參數position可設置從string的某個位置開始查找。
string.lastIndexOf(searchString,position)
函數功能:跟indexOf方法類似,區別是從字符串的末尾開始查找而不是從開頭。
string.localCompare(that)
函數功能:比較兩個字符串
string.match(regexp)
函數功能:匹配一個字符串和一個正則表達式。
如果沒有g標識,string.match(regexp)和regexp.exec(string)結果相同。
如果有g標識,返回一個包含除捕獲分組之處的所有匹配的數組。
string.replace(searchValue,replaceValue)
函數功能:對string進行查找和替換操作,并返回一個新的字符串。
var oldAreaCode = /\((\d{3})\)/g; var p = '(555)(666)-1212'.replace(oldAreaCode, '$1-'); console.log(p);//555-666--1212
string.search(regexp)
函數功能:和indexOf方法類似,只是它接受一個正則表達式作為參數而不是一個字符串,如果找到匹配返回第一個匹配的首字符位置,如果沒有找到匹配,則返回-1。
string.slice(start,end)
函數功能:復制string的一部分來構造一個新的字符串。
如果start參數是負數,它將與string.length相加。end參數是可選的,并且它的默認值是string.length。如果end參數是負數,它將與string.length相加。end參數是一個比最末一個字符的位置值還大的數。
string.split(separator,limit)
函數功能:把string分割成片段來創建一個字符串數組。可選參數limit可以限制被分割的片段數量。
var digits = '0123456789'; var a = digits.split('', 5); //["0", "1", "2", "3", "4"]
string.substring(start,end)
函數功能:substring的用法和slice方法一樣,只是它不能處理負數參數,一般性的用slice替代它。
string.toLocalLowerCase()
函數功能:用本地化的規則把string中的所有字母轉換為小寫格式。
string.toLocalUpperCase()
函數功能:用本地化的規則把string中的所有字母轉換為大寫格式。
string.toLowerCase()
函數功能: 把string中的所有字母都轉化為小寫格式。
string.toUpperCase()
函數功能: 把string中的所有字母都轉化為大格式。
string.fromCharCode(char…)
函數功能:從一串數字中返回一個字符串。
原文出處: YouYaInsist 的博客var a = String.fromCharCode(67, 97, 116); console.log(a);//Cat;
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!