Heim > Web-Frontend > js-Tutorial > Hauptteil

Einführung in Referenztypen in der JS-Programmierung

零下一度
Freigeben: 2017-07-17 16:18:07
Original
1344 Leute haben es durchsucht

Referenztyp

Es gibt zwei Datentypwerte für Variablen in JS, Werte von Grundtypen und Werte von Referenztypen. Die Grundtypen sind null, undefiniert, boolesch, Zeichenfolge und Zahl. Die Werte von Referenztypen sind Verweise auf Objekte, also ein Zeiger auf ein Objekt.

Der Referenztyp ist eine Datenstruktur (in anderen Sprachen als Klasse bezeichnet. In js gab es zuvor kein Klassenkonzept, aber in es6 (einem syntaktischen Zucker) ist es so Objekt, daher wird das Objekt als Instanz oder Wert eines Referenztyps bezeichnet. (Ein Objekt ist eine Kombination aus Schlüssel-Wert-Paaren.)

Aus dem Verzeichnis können Sie ersehen, dass die Referenztypen in JavaScript sind: Objekttyp, Array-Typ, Datentyp, RegExp-Typ, Funktionstyp, Basic Einbautyp, Einzel-Einbautyp. Im Folgenden werde ich die Wissenspunkte hier sortieren.

①Referenztyp ist eine Datenstruktur, die zum gemeinsamen Organisieren von Daten und Funktionen verwendet wird. Sie wird auch als Klasse bezeichnet. JavaScript unterstützt jedoch nicht die Grundstruktur von Klassen und Schnittstellen und wird daher als Objektdefinition bezeichnet.

②Object ist der am häufigsten verwendete Typ. Es gibt zwei Möglichkeiten, ein Objekt zu erstellen.

Der erste verwendet den neuen Operator:

1 var person = new Object();2 person.name = "xuchaoi";3 person.age = 24;
Nach dem Login kopieren

Der zweite verwendet die Objektliteralnotation:

1 var person = {2     name: "xuchaoi",3     age: "24"4 }  // 访问对象的值:person.name
Nach dem Login kopieren

③Das Erstellen eines Arrays ähnelt dem Erstellen eines Objekts.

kann über den neuen Operator oder die Array-Literaldarstellung erstellt werden. ④ Arrays können über die Methode Array.isArray() erkannt werden. Weil typeof() Arrays, Objekte oder Nulltypen erkennt und „Objekt“ zurückgibt

⑤Array in String-Methode aufteilen: join()

1 var name = ["小明", "小红", "小青"];2 consol.log(name.join("&"));  // 小明&小红&小青
Nach dem Login kopieren

⑥Array simuliert die Datenstruktur Stapel. push() fügt einen Wert am Ende des Arrays hinzu und pop() entfernt das Element vom Ende des Arrays. Somit wird die Last-In-First-Out-Stapelstruktur

⑦ Array-Simulationsdatenstrukturpaar realisiert. push() fügt einen Wert am Ende des Arrays hinzu und shift() entfernt das erste Element des Arrays. Somit ist die Realisierung der First-In-First-Out-Paarstruktur

⑧unshift() das Gegenteil von Shift(). Es fügt einen Wert zum ersten Element des Arrays

⑨Array in umgekehrter Reihenfolge hinzu : umkehren(). Diese Methode kehrt die Reihenfolge der Array-Elemente um.

⑩Array-Sortiermethode: sort(). Standardmäßig wird zuerst die toString()-Transformation für jedes Element des Arrays durchgeführt und dann die Array-Elemente in aufsteigender Reihenfolge angeordnet

1 var values = [0, 1, 5, 10, 15];2 console.log(value.sort());    //0,1,10,15,5
Nach dem Login kopieren

Dieses Ergebnis ist offensichtlich nicht das, was wir haben wollen, hier sort Die ()-Methode akzeptiert eine Vergleichsfunktion als Parameter, damit wir die Reihenfolge steuern können. Die Vergleichsfunktion hat zwei Parameter, den vorherigen Wert und den nächsten Wert. Wenn der erste Wert nach dem zweiten Wert platziert wird, wird eine positive Zahl zurückgegeben, andernfalls wird eine negative Zahl zurückgegeben, unabhängig davon, welche Reihenfolge 0 zurückgibt.

function compare(value, nextValue) {if(value < nextValue) {return -1;
    } else if(value > nextValue) {return 1;
    } else{return 0;
    }
}var values = [1, 0, 10, 5, 15];
console.log(values.sort(compare));    //0,1,5,10,15
Nach dem Login kopieren

⑪Array verbinden: concat(), Parameter akzeptieren: String, Array

⑫Array abfangen (neues Array generieren, ohne das ursprüngliche Array zu ändern) Methode :slice( ). Empfängt zwei Parameter: Startwert, Endwert (kann weggelassen werden).

1 var colors = ["红色", "黄色", "绿色", "蓝色"];2 var colors1 = colors.slice(1);    //截取从起始值到结束(数值都是从0计数)3 var colors2 = colors.slice(1,3)  //截取从起始值到结束值(不包括结束值)4 console.log(colors1);        //["黄色", "绿色", "蓝色"]  5 console.log(colors2);        //["黄色", "绿色"]
Nach dem Login kopieren

⑬Methode zum Betreiben eines Arrays: splice(). Diese Methode kann Elemente im Array löschen, Elemente in das Array einfügen und Elemente im Array ersetzen (d. h. Array-Elemente löschen und Elemente an den entsprechenden Positionen hinzufügen)

⑭Positionsmethode für Array-Elemente: indexOf (). Suchen Sie den Wert, den wir vom ersten Element im Array festgelegt haben. Sobald er gefunden wurde, wird der Positionsindex des Werts im Array zurückgegeben. Wenn er nicht gefunden wird, wird -1 zurückgegeben. Dies kann verwendet werden, um das Array

1 //原理说明:利用indexOf只会返回数组中元素首次出现的位置与filter内函数index值的不等进行筛选2 var arry = [1,2,3,4,1,2,3];
3 var newArray = arry.filter(function(element,index,self) {4     return self.indexOf(element) === index;5 });    
//说明:filter()会遍历数组,过滤数组不符合要求的元素6 console.log(newArray);    //[1,2,3,4]
Nach dem Login kopieren

⑮Array Traversal Map() zu überprüfen.

1 var numbers = [1, 2, 3, 4, 5];
2 var numbers2 = numbers.map(function(item, index, array){3     
return item * 2;4 });
5 console.log(numbers2);    
 [2,4,6,8,10]
Nach dem Login kopieren

⑯Array-Traversal forEach()

1 var numbers = [1, 2, 3, 4, 5];
2 numbers.forEach(function(item, index, array){3     
array[index] = item * 2;4 });5 console.log(numbers);    
// [2,4,6,8,10]
Nach dem Login kopieren

⑰Array-Akkumulations-Iterationsmethode Reduce()

1 var numbers = [1, 2, 3, 4, 5];
2 var sum = numbers.reduce(function(prev, cur, index, array) {3     
return prev + cur;4 });    
//reduce迭代函数接受4个参数:前一个值,当前值,项的索引,数组对象5 console.log(sum); 
15
Nach dem Login kopieren

Lassen Sie uns zuerst über Arrays sprechen, und im nächsten Abschnitt werden wir weiterhin über die wichtigsten Punkte sprechen, die im Kapitel über Referenztypen zu beachten sind!

Das obige ist der detaillierte Inhalt vonEinführung in Referenztypen in der JS-Programmierung. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!