是否可以在一个名为first.js的文件中使用另一个名为second.js的文件中的变量?
js包含一个名为colorcodes的变量。
是否可以在一个名为first.js的文件中使用另一个名为second.js的文件中的变量?
js包含一个名为colorcodes的变量。
当前回答
如果你存储你的colorcodes在一个全局变量,你应该能够访问它从任何javascript文件。
其他回答
使用Node.js,你可以通过模块导出变量。
//first.js
const colorCode = {
black: "#000",
white: "#fff"
};
module.exports = { colorCode };
然后,使用require在第二个文件中导入模块/变量。
//second.js
const { colorCode } = require('./first.js')
你可以使用Webpack/Babel在ES6中使用导入和导出方法,但在Node.js中你需要启用一个标志,并使用.mjs扩展名。
我确实喜欢上面说的答案,但它一开始并没有为我工作,因为我在jQuery $(document).ready()中声明这些变量。
因此,请确保在<script>标记中声明变量,而不是在其他地方。
如果你存储你的colorcodes在一个全局变量,你应该能够访问它从任何javascript文件。
正如Fermin所说,全局作用域中的变量在声明后应该可以被所有加载的脚本访问。您也可以使用window的属性或(在全局作用域)this来获得相同的效果。
// first.js
var colorCodes = {
back : "#fff",
front : "#888",
side : "#369"
};
... 在另一个文件中…
// second.js
alert(colorCodes.back); // alerts `#fff`
... 在你的HTML文件中…
<script type="text/javascript" src="first.js"></script>
<script type="text/javascript" src="second.js"></script>
这应该可以工作-在firstfile中定义一个全局变量,并从secondfile中访问它:
<script src="/firstfile.js"></script>
<script src="/secondfile.js"></script>
firstfile.js:
var colors = {
text:'#000000',
background:'#aaaaaa',
something_else:'blue'
};
secondfile.js:
do_something_with(colors.background);
注意,加载脚本文件的顺序对于某些浏览器(当然是IE6,也可能是其他浏览器)很重要。