2017-10-12 91 views
0

在這種情況下,如何訪問在另一個文件中聲明的變量和方法?從另一個文件訪問變量和方法

文件一個

jQuery(function(t) { 

    var myVar = 'myValue', 

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

}); 

文件中的兩個

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

「文件1」不會暴露任何* be *使用的內容。除了'e'變量的範圍。你不能使用它嗎?你究竟想要做什麼? – David

回答

2

你不知道。它與文件無關(JavaScript很大程度上不關心文件,除非它們是ES2015 +模塊),它與myVare都是完全私有這一事實相關,這與您傳入的匿名函數jQuery在第一個代碼塊中。即使在同一個文件中的那個函數之外的其他代碼也將無法訪問它們。

您必須更改第一個文件才能在該功能外訪問該信息。你可以通過使它們成爲全局變量(blech),或者通過使用全局變量來完成這些事情,例如通過一個具有這些屬性的對象(稍微不「blech」:-))或者通過使用類似Webpack和真正的模塊。

0

這真的取決於你如何設置你的腳本。例如:

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

然後你就可以做到以下幾點:

文件中的一個: - 聲明變量x

文件中的兩個: - 訪問變量x

我建議看看這個,它將有助於理解變量範圍(但這不包括ES6的讓):https://www.w3schools.com/js/js_scope.asp