2017-10-12 4 views
0

Dans ce cas, Comment puis-je accéder à la variable et à la méthode déclarées dans un fichier à partir d'un autre fichier?Accès aux variables et aux méthodes à partir d'un autre fichier

Fichier un

jQuery(function(t) { 

    var myVar = 'myValue', 

    e = function(t) { 
     console.log('myLog'); 
    } 

}); 

fichier deux

jQuery(function($){ 
    // ???? 
}); 
+0

"File one" n'expose rien à * be * utilisé. Sauf peut-être la portée de la variable 'e'. N'êtes-vous pas capable de l'utiliser? Qu'est-ce que vous essayez de faire exactement? – David

Répondre

2

Vous n'avez pas. Il n'a rien à voir avec les fichiers (JavaScript ne se soucie pas des fichiers à moins qu'ils ne soient des modules ES2015 +), il a à voir avec le fait que myVar et e sont entièrement privés à la fonction anonyme que vous transmettez jQuery dans le premier bloc de code. Même un autre code en dehors de cette fonction dans le même fichier ne pourrait pas y accéder.

Vous devez modifier le premier fichier pour rendre cette information accessible en dehors de cette fonction. Vous pouvez le faire en les rendant globales (blech), ou en ayant un unique global que vous utilisez pour toutes vos choses comme ceci avec un objet avec des propriétés pour ces choses (un peu moins "blech" :-)), ou par en utilisant quelque chose comme Webpack et de vrais modules.

0

Cela dépend vraiment de la façon dont vous configurez vos scripts. Par exemple:

<script src="fileOne.js"></script> 
<script src="fileTwo.js"></script> 

Ensuite, vous serez en mesure de faire ce qui suit:

Un fichier: - Déclare variable x

Fichier Deux: - Variable d'accès x

Je recommande En y jetant un coup d'œil, cela aidera à comprendre la portée variable (mais cela ne couvre pas la location d'ES6): https://www.w3schools.com/js/js_scope.asp