Kann ich Zugriff auf Variablen aus einer anderen Datei?
Ist es möglich, eine variable zu verwenden, in eine Datei namens first.js
innerhalb einer anderen Datei namens second.js
?
first.js
enthält eine variable namens colorcodes
.
- warum nicht Sie Sie Zusammenführen?
- Zum Beispiel könnten Sie laden die Daten von einer anderen website, während das Skript, diese zu verarbeiten, ist auf Ihrer Website:
<script src="http://datasource.example.net/first.js"></script><script src="second.js"></script>
- die datasource-Website nicht einen Rückruf? was ich meine: download second.js enthält: ... - Funktion secondscriptFn(o) { //do something /w data; } ... download datasource.example.net/first.js?callback=secondscriptFn dann zuerst enthalten: secondscriptFn({zurück:"#fff",vor:"#888",Seite:"#369"}); mehr kontrollierbar und robuster als Globale scope-Versionen, weil Sie kontrollieren können, die first.js Umfang...
- Nur als Hinweis: wenn Sie mithilfe von jQuery, und Sie versuchen, dies zu tun. Sie müssen sicherstellen, dass Sie nicht setzen die variable, auf die Sie zugreifen möchten, aus der ersten Datei in der " $(document).ready () " - Funktion; andernfalls wird es nicht richtig geladen wird, zumindest aus meiner Erfahrung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als Fermin sagte, eine variable im globalen Bereich zugänglich sein soll, um alle Skripte geladen, nachdem Sie deklariert ist. Sie können auch eine Eigenschaft von
window
oder (im globalen scope)this
den gleichen Effekt zu erhalten.... in einer anderen Datei ...
... in Ihre html-Datei ...
window
ist in der global - scope- Fenster so.colorCodes und dem (globalen) Objekt colorCodes ist das gleiche Objekt.<script>var variable1 = true;</script> <script src="first.js"></script>
wird first.js sehen, dass die variable? Getestet habe ich es in Google Chrome-Erweiterung, und es hat nicht funktioniert/* global colorCodes */
auf die Zeile oben, um zu verhindern, dass "...ist nicht definiert" - Fehler-MeldungKönnen Sie den export der Variablen aus der ersten Datei mit export.
Importieren Sie dann die variable in der zweiten Datei mit import.
export - MDN
Sollte diese Arbeit - definieren Sie eine Globale variable in firstfile und greifen Sie von secondfile:
firstfile.js:
secondfile.js:
Beachten Sie, dass die Reihenfolge, in der die laden Sie die Skript-Dateien bedeutend ist für einige Browser (IE6 sicher, vielleicht andere)
Wollte ich gerne was Antwort oben, sagte aber, obwohl, es hat nicht mit mir gearbeitet
da war ich
declaring
diese Variableninside
JQuery$( document ).ready()
Stieß ich auf amplify.js. Es ist wirklich einfach zu verwenden. Um einen Wert zu speichern, nennen wir es mal "myValue", Sie:
Und darauf zuzugreifen, tun Sie
Wenn Sie speichern Sie Ihre colorcodes in einer globalen variable, die Sie sollten in der Lage sein, darauf zuzugreifen, die entweder aus einer javascript-Datei.
Kann ich machen das ein wenig anders. Ich bin mir nicht sicher, warum ich diese syntax verwenden, kopiert Sie aus einem Buch vor langer Zeit. Aber jeder meiner js-Dateien definiert eine variable. Die erste Datei, für überhaupt keinen Grund, wird R genannt:
Dann, wenn ich ein großes Stück code, das will ich trennen, ich habe es in einer separaten Datei und einer anderen variable Namen, aber ich kann immer noch Bezug auf die R-Variablen und-Funktionen. Ich rief die neue TD für keinen guten Grund überhaupt:
Können Sie sehen, wo in den TD 'sepfunction' ich nennen, die von R. somefunction.
Ich weiß, das nicht alle runtime-Effizienz, da beide scripts zu brauchen, um zu laden, aber es tut mir dabei helfen, meinen code organisiert.
Verwenden Node.js Sie können exportieren Sie die variable über das Modul.
Dann das Modul importieren/variable in der zweiten Datei verwenden, erfordern.
Können Sie die
import
undexport
Zufahrt von ES6 mit Webpack/Babel, aber in Node.js Sie müssen aktivieren Sie die fahne, und verwendet die .mjs-Erweiterung.