Heim  >  Artikel  >  Web-Frontend  >  Einführung in Referenztypen in der JS-Programmierung

Einführung in Referenztypen in der JS-Programmierung

零下一度
零下一度Original
2017-07-17 16:18:071338Durchsuche

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;

Der zweite verwendet die Objektliteralnotation:

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

③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("&"));  // 小明&小红&小青

⑥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

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

⑪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);        //["黄色", "绿色"]

⑬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]

⑮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]

⑯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]

⑰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

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!

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