JS常用的標準函數

jopen 9年前發布 | 26K 次閱讀 JS JavaScript開發

1、Array類型函數

array.concat(item…)

函數功能:關聯數組,實現數組相加功能,但并不影響原先數組,concat返回新數組。

JS常用的標準函數

array.join(separator)

函數功能:將array中的每個元素用separator為分隔符構造成字符串,默認的separator是逗號,當然你可以自己指定separator

事實上join方法最常用的地方在字符串相加,用過js的人都知道js的字符串相加是特別慢且性能特別差的,把大量片段字符串放在一個數組中并用join方法連接比用+連接要快得多。

JS常用的標準函數

array.pop()

pop和push方法使數組array像堆棧一樣工作。

函數功能:pop方法移除array中的最后一個元素并返回該元素。

如果array是空的,則返回undefined;

JS常用的標準函數

array.push(item…)

函數功能:push方法將一個或多個item參數附加到array尾部。但是它不像concat方法那樣,push方法不會修改item參數,如果參數item是一個數組,它會將參數數組作為單個元素整個添加到數組中,它返回array的新長度

JS常用的標準函數

array.reverse()

函數功能:反轉array中元素的順序,返回當前array

array.shift()

函數功能:移除array中的第一個元素并返回該元素,如果array是空的,它會返回undefined。

shift比pop要慢很多

array.slice(start,end)

函數功能:對array中的一段做淺復制。end參數是可選的,默認值為數組的長度array.length。

如果兩個參數中任何一個是負數,array.length將和它們相加來試圖將它們成為非負數。

如果start大于等于array.length,得到的結果將是一個新的空數組

JS常用的標準函數

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(
    
         arguments, [ 1 ]);
    
    return function() {
     return method.apply(that, args.concat(slice.apply(arguments, [ 0 ])));
    
    }; }; var x = function() { return this.value; }.bind({ value : 666 }); console.log(x());// 666</pre>

    3、Number類型函數

    number.toExponential(fractionDigits)

    函數功能:把number轉換成一個指數形式的字符串。可選參數fractionDigits控制其小數點后的數字位數,它的值必須在0到20之間。

    JS常用的標準函數

    number.toFixed(fractionDigits)

    函數功能:把number轉換成一個十進制形式的字符串。可選參數fractionDigits控制其小數點后的數字位數,它的值必須在0到20之間。默認為0。

    JS常用的標準函數

    number.toPrecision(precision)

    函數功能:把number轉換成一個十進制形式的字符串。可選參數fractionDigits控制其小數點后的數字位數,它的值必須在1到21之間。

    JS常用的標準函數

    number.toString(radix)

    函數功能:把number轉換成一個字符串。可靠參數radix控制基數,它的值必須在2和36之間,默認為10

    JS常用的標準函數

    4、Object類型函數

    object.hasOwnProperty(name)

    函數功能:如果object包含名為name的屬性,hasOwnProperty方法將返回true,原型鏈中的同名屬性是不會被檢查的。

    for (name in obj) {
       if (obj.hasOwnProperty(name)) {
    
       console.log(obj[name]);
    
    } }</pre></div>

    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…)

    函數功能:從一串數字中返回一個字符串。

    var a = String.fromCharCode(67, 97, 116);
    console.log(a);//Cat;
    原文出處: YouYaInsist 的博客
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!