


So ändern Sie Variablen außerhalb des Gültigkeitsbereichs in JavaScript_Javascript-Tipps
1. Ich habe heute beim Lesen des JavaScript-Lernführers die außerschulischen Übungen gemacht und daher eine detaillierte und gründliche Untersuchung der in der Funktion übergebenen Parameter durchgeführt.
Das Thema ist wie folgt:
Wie kann eine Funktion Variablen außerhalb ihres Gültigkeitsbereichs ändern? Schreiben Sie eine Funktion, die ein Array von Zahlen von 1 bis 5 als Parameter akzeptiert. Nach dem Aufruf der Funktion werden die numerischen Elemente durch die entsprechenden Zeichenfolgendarstellungen ersetzt
Müssen auf die Wissenspunkte geachtet werden:
var outer_number = ; var outer_boolean = true; var outer_array = [,,]; var outer_object = {test:""}; function display(num,bool,arr,obj){ console.log("number:"+num+"\nboolean:"+bool+"\narray:"+arr+"\nobject:"+obj.test); } function test(num,bool,arr,obj){ display(num,bool,arr,obj);//num=,bool=true,array=[,,],object.test= num = ; bool = false; arr[] = ; obj.test = ""; display(num,bool,arr,obj);//num=,bool=false,array=[,,,],object.test= arr = [,,]; obj = {test:""}; display(num,bool,arr,obj);//num=,bool=false,array=[,,],object.test= } test(outer_number,outer_boolean,outer_array,outer_object); display(outer_number,outer_boolean,outer_array,outer_object);//num = ,bool=true,array=[,,,],object.test=
boolean:true
array:1,2,3
object:122"<-Der Wert, wenn er an die Funktion übergeben wird
boolean:false
array:1,2,3,3
object:134"<-Änderungen durchführen
boolean:false
array:3,2,1
object:133"<-Reassign
boolean:true
array:1,2,3,3
object:134"<-Nachdem die Funktion ausgeführt wurde
Tatsächlich ist die sogenannte Zuweisung durch Referenz in JavaScript kein Kopieren durch Referenz im eigentlichen Sinne, sie kann auch als Übergabe per Objekt oder Aufruf per Freigabe bezeichnet werden
Unter dieser Bedingung des Passing-by-Sharing kann man sagen, dass die Referenz, die wir erhalten, nur eine Kopie der tatsächlichen Parameterreferenz ist. Der größte Unterschied zwischen ihr und der Passing-by-Referenz, die wir oft sagen, besteht darin, dass wir sie der Referenzkopie zuordnen Der Wert des Parameters wird nicht beeinflusst, wie wir es oben getan haben, die Zuweisungsoperation ist nicht möglich.
Natürlich betrachten wir sowohl Objekttypen als auch Basistypen. Objekte sind veränderbar und Basistypen sind unveränderlich (Hinweis! Bei der Zeichenfolgenänderung handelt es sich tatsächlich um eine neue zurückgegebene Zeichenfolge), daher gilt die Übergabe durch gemeinsame Nutzung auch für Basistypen mit Lieferung durch Teilen.
In JavaScript werden sowohl Grundtypen als auch Objekte durch Teilen aufgerufen. Aufgrund der Unveränderlichkeit der Grundtypen von JavaScript gibt es jedoch keinen Unterschied zwischen der Übergabe von Grundtypen durch Teilen und der Übergabe als Wert, während Objekte durch Teilen übergeben werden.
Aufruf durch Teilen: Was übergeben wird, ist eine Kopie der tatsächlichen Parameterreferenz. Unsere Zuweisung zur Referenzkopie hat keinen Einfluss auf den Wert des tatsächlichen Parameters, aber die Referenzkopie kann zum Ändern des referenzierten Inhalts verwendet werden Adresse
1. Grundlegende Typen, die als Wert (oder durch Teilen) übergeben werden. Interne Zuweisungsänderungen wirken sich nicht auf das aufrufende Programm aus.
2. Der Objekttyp wird durch Teilen übergeben. Die interne Zuweisung an die Referenz ist ungültig und die Zuweisungsänderung am Objektattribut ist gültig.
So verstehe ich es wahrscheinlich. Wenn ich irgendwo Fehler mache, hoffe ich, dass ich darauf hingewiesen werden kann.
Ziehen Sie den JavaScript-Bereich unten separat heraus
Jede Programmiersprache hat das Konzept des Bereichs. Einfach ausgedrückt ist der Bereich der zugängliche Bereich von Variablen und Funktionen, das heißt, der Bereich steuert die Sichtbarkeit und den Lebenszyklus von Variablen und Funktionen. In JavaScript gibt es zwei Arten von Variablenbereichen: den globalen Bereich und den lokalen Bereich.
Globaler Geltungsbereich
Objekte, auf die überall im Code zugegriffen werden kann, haben einen globalen Gültigkeitsbereich. Im Allgemeinen haben die folgenden Situationen einen globalen Gültigkeitsbereich:
(1) Die äußerste Funktion und die außerhalb der äußersten Funktion definierten Variablen haben einen globalen Gültigkeitsbereich, zum Beispiel:
var authorName="山边小溪"; function doSomething(){ var blogName="梦想天空"; function innerSay(){ alert(blogName); } innerSay(); } alert(authorName); //山边小溪 alert(blogName); //脚本错误 doSomething(); //梦想天空 innerSay() //脚本错误
变量blogName拥有全局作用域,而authorName在函数外部无法访问到。
(3)所有window对象的属性拥有全局作用域
一般情况下,window对象的内置属性都拥有全局作用域,例如window.name、window.location、window.top等等。
1. 局部作用域(Local Scope)
和全局作用域相反,局部作用域一般只在固定的代码片段内可访问到,最常见的例如函数内部,所有在一些地方也会看到有人把这种作用域称为函数作用域,例如下列代码中的blogName和函数innerSay都只拥有局部作用域。
function doSomething(){ var blogName="梦想天空"; function innerSay(){ alert(blogName); } innerSay(); } alert(blogName); //脚本错误 innerSay(); //脚本错误

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Häufig gestellte Fragen und Lösungen für das Ticket-Ticket-Ticket-Ticket in Front-End im Front-End-Entwicklungsdruck ist der Ticketdruck eine häufige Voraussetzung. Viele Entwickler implementieren jedoch ...

Es gibt kein absolutes Gehalt für Python- und JavaScript -Entwickler, je nach Fähigkeiten und Branchenbedürfnissen. 1. Python kann mehr in Datenwissenschaft und maschinellem Lernen bezahlt werden. 2. JavaScript hat eine große Nachfrage in der Entwicklung von Front-End- und Full-Stack-Entwicklung, und sein Gehalt ist auch beträchtlich. 3. Einflussfaktoren umfassen Erfahrung, geografische Standort, Unternehmensgröße und spezifische Fähigkeiten.

JavaScript ist der Eckpfeiler der modernen Webentwicklung. Zu den Hauptfunktionen gehören eine ereignisorientierte Programmierung, die Erzeugung der dynamischen Inhalte und die asynchrone Programmierung. 1) Ereignisgesteuerte Programmierung ermöglicht es Webseiten, sich dynamisch entsprechend den Benutzeroperationen zu ändern. 2) Die dynamische Inhaltsgenerierung ermöglicht die Anpassung der Seiteninhalte gemäß den Bedingungen. 3) Asynchrone Programmierung stellt sicher, dass die Benutzeroberfläche nicht blockiert ist. JavaScript wird häufig in der Webinteraktion, der einseitigen Anwendung und der serverseitigen Entwicklung verwendet, wodurch die Flexibilität der Benutzererfahrung und die plattformübergreifende Entwicklung erheblich verbessert wird.

Wie fusioniere ich Array -Elemente mit derselben ID in ein Objekt in JavaScript? Bei der Verarbeitung von Daten begegnen wir häufig die Notwendigkeit, dieselbe ID zu haben ...

Diskussion über die Realisierung von Parallaxe -Scrolling- und Elementanimationseffekten in diesem Artikel wird untersuchen, wie die offizielle Website der Shiseeido -Website (https://www.shiseeido.co.jp/sb/wonderland/) ähnlich ist ...

Eingehende Diskussion der Ursachen des Unterschieds in der Konsole.log-Ausgabe. In diesem Artikel wird die Unterschiede in den Ausgabeergebnissen der Konsolenfunktion in einem Code analysiert und die Gründe dafür erläutert. � ...

JavaScript zu lernen ist nicht schwierig, aber es ist schwierig. 1) Verstehen Sie grundlegende Konzepte wie Variablen, Datentypen, Funktionen usw. 2) Beherrschen Sie die asynchrone Programmierung und implementieren Sie sie durch Ereignisschleifen. 3) Verwenden Sie DOM -Operationen und versprechen Sie, asynchrone Anfragen zu bearbeiten. 4) Vermeiden Sie häufige Fehler und verwenden Sie Debugging -Techniken. 5) Die Leistung optimieren und Best Practices befolgen.

JavaScript kann in PowerPoint ausgeführt werden und durch Aufrufen externer JavaScript -Dateien oder der Einbettung von HTML -Dateien über VBA implementiert werden. 1. Um VBA zu verwenden, um JavaScript -Dateien aufzurufen, müssen Sie Makros aktivieren und VBA -Programmierkenntnisse haben. 2. Einbetten Sie HTML -Dateien ein, die JavaScript enthalten, die einfach und einfach zu bedienen sind, aber Sicherheitsbeschränkungen unterliegen. Zu den Vorteilen zählen erweiterte Funktionen und Flexibilität, während Nachteile Sicherheit, Kompatibilität und Komplexität beinhalten. In der Praxis sollte die Aufmerksamkeit auf Sicherheit, Kompatibilität, Leistung und Benutzererfahrung geschenkt werden.
