SAK*_*SAK 148 javascript scope
是否可以在first.js名为second.js?的另一个文件中调用的文件中使用变量?
first.js包含一个名为的变量colorcodes.
Dag*_*bit 166
正如Fermin所说,全局范围中的变量应该可以被声明后加载的所有脚本访问.您还可以使用window或属性(在全局范围内)this来获得相同的效果.
// first.js
var colorCodes = {
back : "#fff",
front : "#888",
side : "#369"
};
Run Code Online (Sandbox Code Playgroud)
...在另一个文件中......
// second.js
alert (colorCodes.back); // alerts `#fff`
Run Code Online (Sandbox Code Playgroud)
...在你的html文件中......
<script type="text/javascript" src="first.js"></script>
<script type="text/javascript" src="second.js"></script>
Run Code Online (Sandbox Code Playgroud)
Ger*_*oke 23
您可以使用export从第一个文件导出变量.
//first.js
const colorCode = {
black: "#000",
white: "#fff"
};
export { colorCode };
Run Code Online (Sandbox Code Playgroud)
然后,使用import在第二个文件中导入变量.
//second.js
import { colorCode } from './first.js'
Run Code Online (Sandbox Code Playgroud)
Xin*_*ton 15
使用 Node.js,您可以通过模块导出变量。
//first.js
const colorCode = {
black: "#000",
white: "#fff"
};
module.exports = { colorCode };
Run Code Online (Sandbox Code Playgroud)
然后,使用 require 在第二个文件中导入模块/变量。
//second.js
const { colorCode } = require('./first.js')
Run Code Online (Sandbox Code Playgroud)
您可以使用Webpack/Babel 使用 ES6 中的import和export方法,但在 Node.js 中您需要启用一个标志,并使用 .mjs 扩展名。
Pis*_*3.0 13
这应该工作 - 在firstfile中定义一个全局变量并从secondfile访问它:
<script src="/firstfile.js"></script>
<script src="/secondfile.js"></script>
Run Code Online (Sandbox Code Playgroud)
firstfile.js:
var colors = {
text:'#000000',
background:'#aaaaaa',
something_else:'blue'
};
Run Code Online (Sandbox Code Playgroud)
secondfile.js:
do_something_with(colors.background);
Run Code Online (Sandbox Code Playgroud)
请注意,加载脚本文件的顺序对于某些浏览器来说很重要(肯定是IE6,也许是其他浏览器)