2016-09-05 6 views
0

Hallo Kolleginnen und Programmierern Datei,Wie für den Zugriff auf Objekte in einer externen js Datei von einem anderen externen js

ich heute frage mich, wie Objekte zuzugreifen aus einem anderen externen js-Datei. Ich benutze dies als eine Möglichkeit, meinen Code in mehreren js-Dateien zu organisieren. Hier ist ein Beispiel für das, was ich sagen möchte.

Stellen Sie sich wie der Code von einer externen js-Datei:

$(function() { 

    function Person() { 
    this.name = "Bob"; 
    } 

}) 

Und ich mag das Objekt in einer anderen js Datei zuzugreifen:

$(function() { 

    var person = new Person; 
    alert(person.name); 

}) 

Gibt es eine Möglichkeit, so etwas zu tun ? Wie würde ich den HTML-Code positionieren müssen?

+0

Wenn "Person" wie Sie Poster definiert ist dann - es ist ** unmöglich **, es in einer anderen Datei zuzugreifen. – dfsq

+0

@dfsq was meinst du "wie du Poster dann" – Bob

+0

Das Problem ist beantwortet, es dauerte ewig, um herauszufinden, alles, was ich tun musste, war die Javascript-Dateien alle nach den Canvas-Elementen – Bob

Antwort

0

Mein erstes Wunder ist, warum Sie Ihr JS in einer solchen Funktion verpackt haben. Sie können hier sehen, dass ich auf "Hallo" von einem anderen Skript zugegriffen habe, das geladen wurde, nachdem es gesetzt wurde - wie es im globalen Raum eingestellt ist.

https://jsfiddle.net/sj7bp97c/

<script src="https://pastebin.mozilla.org/?dl=8907696"> 
</script> 
<script src="https://pastebin.mozilla.org/?dl=8907697"> 
</script> 

Ein Skript setzt den Wert, die anderen druckt sie zu trösten. Sofern es nicht erforderlich ist, dass Ihr Javascript von Funktionen umgeben ist, bin ich mir nicht sicher, warum Sie das tun.

+0

Es ist, weil Leute gesagt haben, dass ich es für jQuery oder etwas so einschließen muss. – Bob

+0

Leider möchte ich meinen Code in einer Datei nicht eine URL gesendet – Bob

+0

@Bob All das Javascript ist bei diesen beiden Links gefunden (für externe Dateien). https://pastebin.mozilla.org/8907696 ist die erste und https://pastebin.mozilla.org/8907697 ist die zweite. –

0

Reveal die Funktion auf den globalen Bereich:

$(function() { 

    function Person() { 
    this.name = "Bob"; 
    } 

    return { 
    Person: Person 
    } 

})() 

Wenn auf den globalen Bereich ergibt, greifen Sie es aus einem anderen JavaScript, sobald Datei als das Skript initiiert hat. Sie sollten es also mit einschließen nach Sie diesen enthalten.

0

Sie müssen nur Ihre beiden js-Skriptdateien im head-Abschnitt von html erwähnen.

Javascript wird sich kümmern Rest der Dinge. <head> <script src="First.js"></script> <script src="Second.js"></script> </head>

+0

Es wurde gesagt, dass Person nicht definiert war – Bob

+0

Schreiben Sie einfach den unten genannten Code in die zweite js-Datei. Funktion Person() { this.name = "Bob"; } –

+0

Sie haben auch einen Fehler bei der Deklaration neues Objekt gemacht, sollte es var person = neue Person sein() –

Verwandte Themen