1.將其他型別轉換為陣列,一般想到的是toarray,我們看一下toarray的原始碼實現
toarray: function()
2.當沒有傳遞引數時get將返回乙個陣列,陣列中包括所有元素。
$div.get(0); //等同於$("div:first");
$div.get().length === $("div").length; //true
3.jquery提供的slice和eq方法都是支援負數引數的。
slice(begin[,end])是從0開始索引的,包括begin不包括end。沒有傳遞第二個引數預設返回從第乙個引數(包括第乙個引數所在的元素)到最後乙個元素。
index is 0 or -3
index is 1 or -2
index is 2 or -1
$("p").slice(-1);//last
$("p").slice(1,2);//只返回index是1的p
$("p").slice(1);//返回index 〉=1的所有p
//可能看的還不夠明了,直接上字串好了
var str="string";
str.slice(1,2);//"t"
str.slice(1);//"tring"
ruby也有slice方法,但是ruby的slice方法的兩個引數的意義是不同的,第二個引數是擷取字串的長度。當沒有給出第二個引數,預設是擷取乙個字元。
irb(main):001:0> "string".slice(1,2)
=> "tr"
irb(main):002:0> "string".slice(1,2)
=> "t"
irb(main):003:0>
4.isfunction
//if $.type == "function",isfounction() is true;others are false
var function_demo = function();
var not_function_demo = ;
var $elem = $("div");
$.isfunction(function_demo);//true
$.type(function_demo); //"function"
$.isfunction(not_function_demo);//false
$.type(not_function_demo); //"array"
$.isfunction($elem);//false
$.type($elem); //"object"
5.isarray
var arr_demo = ;
$.type(arr_demo); //"array"
$.isarray(arr_demo); //true
6.end()
(1)不接受任何引數
(2)end()將鏈的源頭返回,達到find( ".bar" )是在$( "ul.first" )中查詢
jQuery原始碼學習之extend
extend用於合併物件,可選擇是否深複製。使用時,第乙個引數為合併後的物件。如果要進行深拷貝,則引數1為true,引數2為要合併的目標物件。儘管jquery官方文件明確指出第乙個引數是false的呼叫情況並不支援,但是這個版本的原始碼中,判斷第乙個引數的型別雖有限定是boolean型別,但卻未對其...
jQuery原始碼學習
jquery框架學習 1 定義變數和函式 2 給jq物件,新增一些方法和屬性 3 extend jq的繼承方法 4 jq.extend 擴充套件jq的一些工具方法 5 jq複雜的選擇功能 6 callbacks 回函物件,函式的統一管理 7 deferred 延遲物件,對非同步的乙個統一管理 8 s...
jQuery原始碼學習筆記
整個jquery是乙個自呼叫的匿名函式 1 function global,factory 9return factory w 10 11 else 14 typeof window undefined window this,function window,noglobal 自呼叫函式大家都不陌生...