


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"
boolean:false
array:1,2,3,3
object:134"
boolean:false
array:3,2,1
object:133"
boolean:true
array:1,2,3,3
object:134"
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() //脚本错误(2) Alle undefinierten und direkt zugewiesenen Variablen werden automatisch mit globalem Gültigkeitsbereich deklariert, zum Beispiel:
变量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(); //脚本错误

JavaScript -Kerndatentypen sind in Browsern und Knoten.js konsistent, werden jedoch unterschiedlich als die zusätzlichen Typen behandelt. 1) Das globale Objekt ist ein Fenster im Browser und global in node.js. 2) Node.js 'eindeutiges Pufferobjekt, das zur Verarbeitung von Binärdaten verwendet wird. 3) Es gibt auch Unterschiede in der Leistung und Zeitverarbeitung, und der Code muss entsprechend der Umgebung angepasst werden.

JavaScriptUSESTWOTYPESOFCOMMENMENTEN: Einzelzeilen (//) und Multi-Linie (//). 1) Verwendung // Forquicknotesorsingle-Linexplanationen.2 Verwendung // ForlongerExPlanationsCompomentingingoutblocks-

Der Hauptunterschied zwischen Python und JavaScript sind die Typ -System- und Anwendungsszenarien. 1. Python verwendet dynamische Typen, die für wissenschaftliche Computer- und Datenanalysen geeignet sind. 2. JavaScript nimmt schwache Typen an und wird in Front-End- und Full-Stack-Entwicklung weit verbreitet. Die beiden haben ihre eigenen Vorteile bei der asynchronen Programmierung und Leistungsoptimierung und sollten bei der Auswahl gemäß den Projektanforderungen entschieden werden.

Ob die Auswahl von Python oder JavaScript vom Projekttyp abhängt: 1) Wählen Sie Python für Datenwissenschafts- und Automatisierungsaufgaben aus; 2) Wählen Sie JavaScript für die Entwicklung von Front-End- und Full-Stack-Entwicklung. Python ist für seine leistungsstarke Bibliothek in der Datenverarbeitung und -automatisierung bevorzugt, während JavaScript für seine Vorteile in Bezug auf Webinteraktion und Full-Stack-Entwicklung unverzichtbar ist.

Python und JavaScript haben jeweils ihre eigenen Vorteile, und die Wahl hängt von den Projektbedürfnissen und persönlichen Vorlieben ab. 1. Python ist leicht zu erlernen, mit prägnanter Syntax, die für Datenwissenschaft und Back-End-Entwicklung geeignet ist, aber eine langsame Ausführungsgeschwindigkeit hat. 2. JavaScript ist überall in der Front-End-Entwicklung und verfügt über starke asynchrone Programmierfunktionen. Node.js macht es für die Entwicklung der Vollstapel geeignet, die Syntax kann jedoch komplex und fehleranfällig sein.

JavaScriptisnotbuiltoncorc; Es ist angehört, dass sich JavaScriptWasdedeSthatrunsonGineoFtencninc.

JavaScript kann für die Entwicklung von Front-End- und Back-End-Entwicklung verwendet werden. Das Front-End verbessert die Benutzererfahrung durch DOM-Operationen, und die Back-End-Serveraufgaben über node.js. 1. Beispiel für Front-End: Ändern Sie den Inhalt des Webseitentextes. 2. Backend Beispiel: Erstellen Sie einen Node.js -Server.

Die Auswahl von Python oder JavaScript sollte auf Karriereentwicklung, Lernkurve und Ökosystem beruhen: 1) Karriereentwicklung: Python ist für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet, während JavaScript für die Entwicklung von Front-End- und Full-Stack-Entwicklung geeignet ist. 2) Lernkurve: Die Python -Syntax ist prägnant und für Anfänger geeignet; Die JavaScript -Syntax ist flexibel. 3) Ökosystem: Python hat reichhaltige wissenschaftliche Computerbibliotheken und JavaScript hat ein leistungsstarkes Front-End-Framework.


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

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

Dreamweaver Mac
Visuelle Webentwicklungstools
