each() 用于遍歷指定的對象和數(shù)組,并以對象的每個屬性(或數(shù)組的每個成員)作為上下文來遍歷執(zhí)行指定的函數(shù)。
map() 用于使用指定函數(shù)處理數(shù)組中的每個元素(或?qū)ο蟮拿總€屬性),并將處理結(jié)果封裝為新的數(shù)組返回。
boxModel 檢測當(dāng)前頁面中瀏覽器是否使用標(biāo)準(zhǔn)盒模型渲染頁面(從1.8版本開始,此屬性已經(jīng)移除)
browser 用來獲取useragent的包含標(biāo)志,讀取自 navigator.userAgent。(從1.9版本開始,此屬性已經(jīng)移除)
support 它們代表了不同的瀏覽器功能或錯誤存在的屬性集合。當(dāng)他們不再需要在內(nèi)部以提高頁面的啟動性能時,這些特定屬性可能會被刪除。
contains() 檢查一個DOM元素是另一個DOM元素的后代。
extend() 將兩個或更多對象的內(nèi)容合并到第一個對象。
$.fn.extend() 一個對象的內(nèi)容合并到j(luò)Query的原型,以提供新的jQuery實例方法。
globalEval() 在全局上下文下執(zhí)行一些JavaScript代碼。
grep() 查找滿足過濾函數(shù)的數(shù)組元素。原始數(shù)組不受影響。
inArray() 在數(shù)組中查找指定值并返回它的索引(如果沒有找到,則返回-1)。
isArray() 檢測變量是一個數(shù)組。
isEmptyObject() 檢測對象是否為空(不包含任何屬性)。
isPlainObject() 測試對象是否是純粹的對象(通過 "{}" 或者 "new Object" 創(chuàng)建的)
isFunction() 檢測變量是否為一個Javascript 函數(shù)。
isNumeric() 檢測變量是否是一個數(shù)字。
isWindow() 檢測變量是否為一個window對象。
makeArray() 轉(zhuǎn)換一個類似數(shù)組的對象成為真正的JavaScript數(shù)組。
noop() 一個空函數(shù)
now() 返回一個數(shù)字,表示當(dāng)前時間。
parseHTML() 將字符串解析到一個DOM節(jié)點的數(shù)組中。
parseJSON() 接受一個標(biāo)準(zhǔn)格式的 JSON 字符串,并返回解析后的 JavaScript 對象。
parseXML() 解析一個字符串到一個XML文檔。
trim() 去掉字符串起始和結(jié)尾的空格。
type() 確定JavaScript內(nèi)置對象的類型,并返回小寫形式的類型名稱。
unique() 刪除數(shù)組中重復(fù)元素。只處理刪除DOM元素數(shù)組,而不能處理字符串或者數(shù)字?jǐn)?shù)組。
$.each( object, callback)
var arr = {name:'tg',age:1};
$.each(arr,function(index,value){
console.log(this == value);
console.log(index + ':' +value);
});
// true
// name:tg
// true
// age:1
$.map( object, callback);
每次執(zhí)行callback函數(shù)的返回值將作為結(jié)果數(shù)組中的一個元素,如果函數(shù)的返回值為null或undefined,則不會被添加到結(jié)果數(shù)組中。
var arrs = [1,'tg',3];
var numberArray = $.map(arrs,function(value,index){
if(typeof value === 'number'){
return value;
};
});
console.log(numberArray);
// [1,3]
(3)support
它們代表了不同的瀏覽器功能或錯誤存在的屬性集合。當(dāng)他們不再需要在內(nèi)部以提高頁面的啟動性能時,這些特定屬性可能會被刪除。
$.support
support的全部屬性:http://www.jquery123.com/jQuery.support/
(4)contains()
contains()方法檢查一個DOM元素是另一個DOM元素的后代。
$.contains( element, element )
兩個參數(shù)都是Element類型(第一個是祖先元素,第二個是后代元素),返回布爾值。
<div class="box"><div class="child"></div></div>
<div class="item"></div>
var parent = document.querySelector('.box');
var child = document.querySelector('.child');
var item = document.querySelector('.item');
console.log($.contains(parent,child)); // true
console.log($.contains(parent,item)); // false
(5)extend()
extend()將兩個或更多對象的內(nèi)容合并到第一個對象。
$.extend( [ deep ], target , object1 [, objectN... ] )
參數(shù)說明:
deep : 可選/Boolean類型指示是否深度合并對象,默認(rèn)為false。如果該值為true,且多個對象的某個同名屬性也都是對象,則該"屬性對象"的屬性也將進(jìn)行合并。
target : Object類型目標(biāo)對象,其他對象的成員屬性將被復(fù)制到該對象上。
object1 : 可選/Object類型第一個被合并的對象。
objectN : 可選/Object類型第N個被合并的對象。
var arr1 = {name:'tg'};
var arr2 = {name:'ab',age:1};
var arr3 = $.extend(arr1,arr2);
console.log(arr3);
// {name: "ab", age: 1}
如果有同名屬性,則以最后一個為主。
(6)$.fn.extend()
$.fn.extend()是jQuery擴(kuò)展方法,可以將一個對象的內(nèi)容合并到j(luò)Query的原型,以提供新的jQuery實例方法。
$.fn.extend( object )
$.fn.property = value;
$.fn.functionName = function(){}
例子:
$.fn.author = 'tg';
$.fn.isCurrentAuthor = function(name){
if(name === 'tg'){
return true;
};
return false;
};
var obj = {
age: 1
};
$.fn.extend(obj);
console.log($('body').author); // "tg"
console.log($('body').age); // 1
console.log($('.body').isCurrentAuthor('tg')); // true
(7)globalEval()
globalEval() 在全局上下文下執(zhí)行一些JavaScript代碼。
$.globalEval( code );
例子:
var name = 'tg';
function test(){
var name = 'tg2'
eval('console.log(name);');
$.globalEval('console.log(name);');
};
test();
// tg2
// tg
(8)grep()
grep() 查找滿足過濾函數(shù)的數(shù)組元素。原始數(shù)組不受影響。
$.grep( array, function [, invert ] );
參數(shù):
array :將被過濾的數(shù)組。
function : 指定的過濾函數(shù), 它提供兩個參數(shù):第一個為當(dāng)前迭代的數(shù)組元素,第二個是當(dāng)前迭代元素在數(shù)組中的索引。
invert : 可選的Boolean類型,默認(rèn)值為false。指定是否反轉(zhuǎn)過濾結(jié)果。
var arr = [1,-1,2,-3];
var grep = $.grep(arr,function(value,index){
return value > 0;
});
console.log(grep); // [1, 2]
(9)inArray()
inArray()用來在數(shù)組中查找指定值并返回它的索引(如果沒有找到,則返回-1)。
$.inArray( value, array [, fromIndex ] );
參數(shù):
value :用于查找的值
array : 指定被查找的數(shù)組
fromIndex : 可選,指定從數(shù)組的指定索引位置開始查找
注意:如果有多個相同的值,只會查找到第一個值的索引??膳袛嗍欠竦扔?1來確定是否存在指定值。
var arr = [1,-1,2,-3,1];
console.log($.inArray(1,arr)); // 0
(10)判斷數(shù)據(jù)類型方法
isArray() 檢測變量是一個數(shù)組。
isEmptyObject() 檢測對象是否為空(不包含任何屬性)。
isPlainObject() 測試對象是否是純粹的對象(通過 "{}" 或者 "new Object" 創(chuàng)建的)
isFunction() 檢測變量是否為一個Javascript 函數(shù)。
isNumeric() 檢測變量是否是一個數(shù)字。
(11)isWindow()
isWindow() 檢測變量是否為一個window對象。
$.isWindow( window ); // true
(12)makeArray()
makeArray()用來轉(zhuǎn)換一個類似數(shù)組的對象成為真正的JavaScript數(shù)組。
$.makeArray( object );
例子:
var obj = {name:'tg',age:1};
console.log($.isArray(obj)); // false
var arr = $.makeArray(obj);
console.log($.isArray(arr)); // true
(13) now()
now() 返回一個數(shù)字(時間戳),表示當(dāng)前時間。
$.now(); // 1477884817100
(14)解析字符串
parseHTML() 將字符串解析到一個DOM節(jié)點的數(shù)組中。
$.parseHTML( htmlString [, context ] [, keepScripts ] )
參數(shù):
htmlString : 需要解析并轉(zhuǎn)為DOM節(jié)點數(shù)組的HTML字符串。
context :(Element)指定在哪個Document中創(chuàng)建元素,默認(rèn)為當(dāng)前文檔的document。
keepScripts : 指定傳入的HTML字符串中是否包含腳本,默認(rèn)為false。
var str = '<div class="item">123<span>31</span></div>';
var html = $.parseHTML(str);
$('.box').append(html);
// <div class="box"><div class="item">123<span>31</span></div></div>
parseJSON() 接受一個標(biāo)準(zhǔn)格式的 JSON 字符串,并返回解析后的 JavaScript 對象。
$.parseJSON( jsonString );
jsonString必須是標(biāo)準(zhǔn)格式的JSON字符串,例如:屬性名稱必須加雙引號、字符串值也必須用雙引號。
例子:
var obj = $.parseJSON('{"name": "tg","age": 1}');
console.log(obj.name); // "tg"
parseXML() 解析一個字符串到一個XML文檔。
(15)trim()
trim()用來去掉字符串起始和結(jié)尾的空格。
$.trim( string );
例子:
var value = ' tg ';
console.log(value); // " tg "
console.log($.trim(value)); // "tg"
(16) type()
type()方法用來確定JavaScript內(nèi)置對象的類型,并返回小寫形式的類型名稱。
$.type( object );
例子:
$.type(true); // boolean
$.type( 2 ); // number
(17)unique()
unique方法用來刪除數(shù)組中重復(fù)元素。
$.unique( array );
注意:只處理刪除DOM元素數(shù)組,而不能處理字符串或者數(shù)字?jǐn)?shù)組。
更多建議: