Heim > Artikel > Web-Frontend > Was ist in der BOX?!: Variablen
Was ist eine Variable? Die meisten (insbesondere Mozilla-Webdokumente(MDN)) würden es als „einen Container für einen Wert“ beschreiben. Ein benannter Code, der sich auf ein Programm jeglicher Art bezieht, von einfachen Werten bis hin zu Funktionen.
var foo = "I pity the..."; const group =['Rhonda', 'Jamey', 'Kori', 'Greg']; let greed = function (root) { console.log("of all evil"); }
Es ist üblich, eine Variable als „wie kleine Pappkartons zu beschreiben, in denen man Dinge aufbewahren kann.(MDN)“ Ohne diese Kartons würden unsere Werte schrumpfen und sterben die Hitze des Codes, die kurz nach der Implementierung nicht mehr existiert. Wie im Wälzer Eloquentes JavaScript(EJS) gesagt wurde, müssten die Variablen „...sofort verwendet werden, sonst verschwinden sie“ und dort Es gibt zwei Möglichkeiten, diese Behälter für bleibende Ausdrucksformen zu schaffen:
var question; let box; const cat;
var question = true; let box = null; const cat = 4 + 3;
Das Lesen von = gibt immer dem, was links davon steht, den Wert dessen, was rechts steht. So wissen wir, dass sich nichts in der Box
befindet
Nun kann sich der Inhalt, wie bei jeder geöffneten Kiste, jederzeit ändern. „* Der =-Operator kann jederzeit auf bestehende (Variablen) angewendet werden, um sie von ihrem aktuellen Wert zu trennen und sie auf einen neuen verweisen zu lassen:*“(EJS)
let greenLight = false; //*the greenLight box contains the false value* greenLight = true; //*greenLight is now set to the value true*
Der falsche-Wert befand sich früher in diesem Feld, aber mit einer einfachen Änderung ist darin ein völlig neuer Wert enthalten. So einfach ist das!
Okay, es fühlt sich an, als hätten wir das Konzept Container, Box gründlich erforscht und verinnerlicht. Lassen Sie uns nun untersuchen, warum es falsch ist.
Wie Sie vielleicht gesehen haben, ist die „Container“-Philosophie für Variablen für viele Dinge ziemlich gut. Dennoch werden die Boxen irgendwann kompliziert:
let a = 5; let b = a; a = 7; console.log(b);// 5
Wenn Feld b ein Feld a enthält und Feld b mit einem neuen Wert gefüllt wird, gilt dann nicht dasselbe für a? Ich meine, zwei zusammengestellte Kartons enthalten in der Regel den gleichen Inhalt, wenn sie gefüllt sind, oder? Falsch. Das Box-Konzept von Variablen wird verwirrend, wenn man über solche Dinge nachdenkt, denn oft verhalten sich Variablen überhaupt nicht wie Boxen.
Wirklich, in diesem Fall wäre es besser, davon auszugehen, dass die Daten schon immer vorhanden waren. Im Wesentlichen macht eine Variable diese Daten einfach wichtig und zugänglich. Die Programme schweben in den weiten Bereichen des techSpace und es liegt an unseren Variablen, sie „zu fangen und festzuhalten“ (EJS). Es ist zunächst etwas seltsam, aber wenn man darüber nachdenkt, ergibt es sehr viel Sinn. Eloquentes JavaScript beschreibt es so:
"Sie sollten sich Bindungen als Tentakel und nicht als Kästchen vorstellen. Sie enthalten keine Werte; sie erfassen sie – zwei Bindungen können sich auf denselben Wert beziehen. Ein Programm kann nur auf die Werte zugreifen, auf die es sich noch bezieht hat eine Referenz. Wenn Sie sich an etwas erinnern müssen, lassen Sie entweder einen Tentakel wachsen, um es festzuhalten, oder befestigen Sie einen Ihrer vorhandenen Tentakel wieder daran."
Anhängen täuscht hier ein wenig, da diese „Tentakel“ nur Werte „greifen“, die klein genug sind, um sie zu halten (64 Bit). Diese Werte werden als „simple dataTypes“ (EJS) bezeichnet und umfassen Zahlen, Zeichenfolgen und boolesche Werte. Wenn ein Wert einfach ist, umschließt unser Tentakel ihn und hält ihn fest. Irgendwie... Eine Handlung, die wir Wert weitergeben (GFG) nennen. Ich sage irgendwie, weil, wenn ein Wert, nach dem unser Tentakel sucht, einfach genug ist, er sich nicht die Mühe macht, an demselben festzuhalten, sondern einfach eine Kopie erstellt und ihn für sich behält:
Im obigen Beispiel machte sich unser b-Tentakel nicht die Mühe, die gleiche 5 zu ergreifen, die a hatte. Als a also seine Streifen änderte und diese 5 im Weltraum verschwand, blieb b immer noch die Kopie von 5 übrig, die es ursprünglich hielt. Jetzt lasst uns etwas anderes ausprobieren:
var a = [13, 40, 27]; var b = a; b.push(5, 1)//push is a method that moves these values into the end an array console.log(a);//[13, 40, 27, 5, 1];
This example is a bit more complex. Our complex dataTypes(arrays, objects, functions) are much to big to go around making copies of them to wrap our tentacles around, so what we do is simply point to the original. An act we like to call Pass by reference(GFG). In this example, b can't hold on to its own array, so when it goes through a change, the original array it points to feels that change pass through it.
This was a small introduction to how we name, grasp, point to, and otherwise utilize data for our own brilliant purposes. It's easy to overlook, but without variables, we would all be lost in a sea of code, digital waters all around us, grasping away as digital water falls right through our fingers. Variables are the boats that carry us all to our destination, and I, for one, appreciate the ride.
References by initial
(MDN)
https://developer.mozilla.org/en-US/docs/Learn/JavaScript/First_steps/Variables
(EJS)
https://eloquentjavascript.net/02_program_structure.html
(GFG)
https://www.geeksforgeeks.org/pass-by-value-and-pass-by-reference-in-javascript/
Das obige ist der detaillierte Inhalt vonWas ist in der BOX?!: Variablen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!