[英]How to get variable value from another js file
我有一个名为Second.js
JavaScript文件,其中包含名为page
变量。
Second.js:
var page = 1;
如何从另一个名为one.js
JavaScript中检索该值(即page
?
从另一个.js文件获取值的另一种方法是将变量保存在浏览器中:
a.js
var myemail="xyz@gmail.com";
localStorage.setItem("email",myemail);
现在,此变量保存在浏览器中。 如果要在另一个文件中获取此变量,请使用:
b.js
var x=localStorage.getItem("email");
alert(x) // output=xyz@gmail.com
如果您确实希望变量在不同脚本之间可见,则可以在window
上附加变量。 例如:
脚本1:
window.page = 1;
脚本2:
alert(page);
确保不要使用非常简单的变量名(例如page
),以避免可能的冲突。 一个好的做法是在窗口上附加一个应用程序名称数组,并使用它,并确保您不会影响“全局范围”中的任何内容。 例如:
window.MY_APP = {
page: 1,
foo: 'bar',
whatever: [1, 2, 3],
example: {
name: 'john',
surname: 'smith'
}
};
页面上的所有JavaScript都在相同的整体环境中执行,因此如果Second.js
page
是全局的,则可以从页面上加载的任何其他JavaScript中使用它。 例如:
<script src="Second.js"></script>
<script src="SomeOtherFile.js"></script>
再次提供该page
是全局的,您可以从SomeOtherFile.js
使用它(只是将其引用为page
,没有限定符)。
甚至:
<script src="Second.js"></script>
<script>
alert(page); // "1"
</script>
如果page
不是全局的,则必须以某种方式修改Second.js
,以使page
变量或值可用于其他脚本。 当然,您可以通过将其设置为全局来做到这一点,或者可以使用“异步模块定义”加载程序来避免周围有大量的全局变量并管理依赖项。 (AMD可能会因您的所作所为而变得过大,或者,我们在这里没有太多背景信息。)
它们都必须包含在同一个HTML文件中。 确保两者都已装入并已加载,然后就好像您的所有JavaScript都存在于一个单独的大型JS文件中一样!
有两种方法:按照要访问脚本的顺序加载脚本,或者在加载页面之前不要开始执行脚本(建议这样做,因为这样可以确保确实加载了所有内容!)。 无论哪种方式,您都可以像在同一文件中一样引用变量-无需使用'var'重新声明它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.