Heim > Artikel > Web-Frontend > Codelesen von .makeArray() in jQuery
Die makeArray-Funktion von jquery kann ein Array-ähnliches Objekt in ein Array konvertieren. Die offizielle API-Erklärung und Testbeispiele finden Sie hier (Convert ein Array-ähnliches Objekt in ein echtes JavaScript-Array.) Was ist also ein Array-ähnliches Objekt? (Array-ähnliches Objekt ) Dies ist die Definition von Arrary-Like
Entweder ein echtes JavaScript-Array oder ein JavaScript-Objekt, das eine nichtnegative Ganzzahl-length
-Eigenschaft enthält
und Indexeigenschaften von 0
bis length
- 1
. Dieser letztere Fall umfasst arrayartige Objekte, die häufig in webbasiertem Code vorkommen, wie z. B. das arguments
-Objekt
und das NodeList
-Objekt, das von vielen DOM-Methoden zurückgegeben wird.
Wenn eine jQuery-API entweder einfache Objekte oder Array-ähnliche Objekte akzeptiert, ein einfaches Objekt mit einer numerischen length
-Eigenschaft
löst das Array-ähnliche Verhalten aus.
enthält das Längenattribut, und der Wert ist nicht negativ, und auf das Attribut kann gemäß dem Index zugegriffen werden. Zu den gängigen Array-ähnlichen Objekten gehören Argumente, NodeList
// results is for internal usage only result是jquery内部使用的参数,如果不为空则把array并到resuls上 makeArray: function( array, results ) { var ret = results || []; if ( array != null ) { // The window, strings (and functions) also have 'length' // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930 var type = jQuery.type( array ); //array没有length属性,或者为string类型,function类型,window类型,或者黑莓中正则对象,黑莓中正则对象也含有length对象,则push到result if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) { push.call( ret, array ); } else { //调用merge把类数组array合并到ret jQuery.merge( ret, array ); } } return ret; }
jquery.type wird hier aufgerufen
jquery.isWindow() 1.7 .1 ist Beurteilt basierend darauf, ob es das setInterval-Attribut „setInterval“ in obj enthält, und das nachfolgende Layout wird anhand des Fensterattributs obj == obj.window
isWindow:function(obj){ return obj && typeof obj === "object" && "setInterval" in obj; //1.7.2: return obj != null && obj == obj.window; },
Die offizielle Erklärung des jQuery.merge(frist, second)-Aufrufs finden Sie hier. Die Funktion dieser Funktion besteht darin, das zweite Array oder arrayähnliche Objekt mit dem ersten zusammenzuführen
Das obige ist der detaillierte Inhalt vonCodelesen von .makeArray() in jQuery. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!