Ist es möglich, eine Variable in einer Datei zu verwenden, die in einer first.js
anderen aufgerufenen Datei aufgerufen wird second.js
?
first.js
enthält eine Variable namens colorcodes
.
javascript
scope
SAK
quelle
quelle
<script src="http://datasource.example.net/first.js"></script><script src="second.js"></script>
Antworten:
Wie Fermin sagte, sollte eine Variable im globalen Bereich für alle Skripte zugänglich sein, die nach ihrer Deklaration geladen werden. Sie können auch eine Eigenschaft von
window
oder (im globalen Bereich) verwendenthis
, um den gleichen Effekt zu erzielen.... in einer anderen Datei ...
... in Ihrer HTML-Datei ...
quelle
window
ist der globale Bereich - also sind window.colorCodes und das (globale) Objekt colorCodes dasselbe Objekt.<script>var variable1 = true;</script> <script src="first.js"></script>
wird first.js diese Variable sehen? Ich habe es in der Google Chrome-Erweiterung getestet und es hat nicht funktioniert/* global colorCodes */
die obige Zeile hinzufügen , um die Fehlermeldung "... ist nicht definiert" zu verhindernSie können die Variable aus der ersten Datei mithilfe des Exports exportieren .
Importieren Sie dann die Variable mit import in die zweite Datei .
Export - MDN
quelle
Mir hat gefallen, was die Antwort oben gesagt hat, aber obwohl es bei mir nicht funktioniert hat
weil ich
declaring
diese Variableninside
JQuery war$( document ).ready()
quelle
Dies sollte funktionieren - definieren Sie eine globale Variable in der ersten Datei und greifen Sie von der zweiten Datei darauf zu:
firstfile.js:
secondfile.js:
Beachten Sie, dass die Reihenfolge, in der Sie die Skriptdateien laden, für einige Browser von Bedeutung ist (IE6 sicher, vielleicht auch andere).
quelle
Mit Node.js können Sie die Variable über ein Modul exportieren.
Importieren Sie dann das Modul / die Variable mit require in die zweite Datei.
Sie können das
import
und denexport
Ansatz von ES6 mit Webpack / Babel verwenden, aber in Node.js müssen Sie ein Flag aktivieren und die Erweiterung .mjs verwenden.quelle
Ich bin auf amplify.js gestoßen . Es ist wirklich einfach zu bedienen. Um einen Wert zu speichern, nennen wir ihn "myValue".
Und um darauf zuzugreifen, tun Sie es
quelle
Wenn Sie Ihre Farbcodes in einer globalen Variablen speichern, sollten Sie über eine der beiden Javascript-Dateien darauf zugreifen können.
quelle
Ich mache das vielleicht etwas anders. Ich bin mir nicht sicher, warum ich diese Syntax verwende, die ich vor langer Zeit aus einem Buch kopiert habe. Aber jede meiner js-Dateien definiert eine Variable. Die erste Datei heißt ohne Grund R:
Und wenn ich dann einen großen Code habe, den ich trennen möchte, füge ich ihn in eine separate Datei und einen anderen Variablennamen ein, kann aber trotzdem auf die R-Variablen und -Funktionen verweisen. Ich habe den neuen TD ohne guten Grund angerufen:
Sie können sehen, dass ich in der TD 'sepfunction' die R.somefunction nenne. Mir ist klar, dass dies keine Laufzeiteffizienz bringt, da beide Skripte geladen werden müssen, aber es hilft mir, meinen Code organisiert zu halten.
quelle
quelle