Heim > Web-Frontend > js-Tutorial > Hauptteil

jQuery-Quellcode-Analyse makeArray-Methode

黄舟
Freigeben: 2017-07-19 09:49:20
Original
1473 Leute haben es durchsucht

In jQuery ist makeArray eine private Methode, die hauptsächlich zum Konvertieren von „Array-ähnlichen Objekten“ In Array konvertieren.

Was ist also ein

„Array-ähnliches Objekt“ ?

Zum Beispiel hat jede

Funktion ein Argumente-Objekt, nämlich it ist eine Liste tatsächlicher Parameter mit Länge-Attributen, und auf die tatsächlichen Parameter kann auch über Indizes zugegriffen werden.

	function foo(){
		//1
		console.log(arguments.length);
		//10
		console.log(arguments[0]);
	}
	
	foo(10);
Nach dem Login kopieren
Darüber hinaus sind auch Objekte von Typen wie

HTMLCollection, NodeList "Array-ähnliches Objekt".

Sie haben

2 Punkte gemeinsam:

1 haben das Attribut

Länge.

2. Auf Elemente kann über Indizes zugegriffen werden.

Im Vergleich zu Arrays fehlen arrayähnlichen Objekten viele praktische APIs, sodass viele Frameworks Konvertierungsmethoden bereitstellen.

Der einfachste Weg ist die Verwendung der

slice-Methode für Array.prototype:

	function makeArray(array){
		return Array.prototype.slice.call(array);
	}	
Nach dem Login kopieren
aber

jQuery In Um mit dem frühen IE kompatibel zu sein, wird unsere eigene Implementierung bereitgestellt.

	
	var makeArray = function(array){
		//存储元素的新数组
		var ret = [];
		if(array != null){
			var i = array.length;
			/*
				分别对应四种非类数组对象情况:
				1.没有length属性
				2.为字符串
				3.是函数
				4.是window对象
			*/
			if(i == null || typeof array === "string" || jQuery.isFunction(array) || array.setInterval)
				ret[0] = array;
			else
				while(i)
					ret[--i] = array[i];
		}
		return ret;
	};
Nach dem Login kopieren
Die Auswirkung beträgt

3 Punkte: 1 Auch wenn keine Parameter übergeben werden, wird ein leeres Array zurückgegeben.

2. Wenn

Array-ähnliches Objekt übergeben wird, wird ein neues Element-Array zurückgegeben.

3. Wenn ein

Nicht-Array-Objekt übergeben wird, wird dieses Objekt als erstes Element des neuen Arrays verwendet.

Das obige ist der detaillierte Inhalt vonjQuery-Quellcode-Analyse makeArray-Methode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage