Heim  >  Artikel  >  Web-Frontend  >  Codelesen von .makeArray() in jQuery

Codelesen von .makeArray() in jQuery

黄舟
黄舟Original
2017-07-19 09:41:151165Durchsuche

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

Array-Like Object

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn