如何从另一个 js 文件中获取变量值
How to get variable value from another js file
我有一个名为Second.js
的JavaScript文件,其中包含名为page
的变量。
第二.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在相同的整体环境中执行,因此如果page
是全局的Second.js
,则可以从页面上加载的任何其他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"重新声明它们。
- 正在从addEventListener中获取变量值
- less.js - 在解析器的回调中获取变量值
- 在jQuery上发出ajax请求后,闭包在获取变量值方面似乎迟到了
- 从aspx中获取变量值,并在代码隐藏中使用它
- 在 jquery 函数中获取变量值为无穷大
- 如何从另一个 js 文件中获取变量值
- 如何从JavaScript获取变量值到JSP
- jQuery遍历从单元格中获取变量值
- 从另一个函数获取变量值的处理程序
- 从jQuery$(document).ready(function(){});中的外部JavaScript文件获取变量值
- 谷歌地图:从监听器获取变量值
- 如何使用Java代码从HTML中获取变量值
- jquery没有从C#变量中获取变量值
- 不能获取变量值
- 动态添加或复制指令不会从父作用域获取变量值
- 如何从javascript函数中获取变量值
- 数据表:如何从另一个函数中获取变量值
- 从函数js内部获取变量值
- 从输入字段获取变量值,并在SELECT-WHERE语句中使用它
- jQuery从另一个html页面获取变量值