当前位置: 首页 > 面试题库 >

如何在.js文件中声明全局变量

姜卜霸
2023-03-14
问题内容

我需要所有.js文件中都需要的一些全局变量。

例如,考虑以下4个文件:

  1. global.js
  2. js1.js
  3. js2.js
  4. js3.js

考虑到我将上述所有4个文件都加载到HTML文档中,有没有一种方法可以在其中声明3个全局变量global.js并在其他3个.js文件中的任何一个中访问它们?

有人可以告诉我是否可行,还是可以解决这个问题?


问题答案:

只需在函数范围之外的global.js中定义变量:

// global.js
var global1 = "I'm a global!";
var global2 = "So am I!";

// other js-file
function testGlobal () {
    alert(global1);
}

为确保此方法有效,您必须先包含/链接到global.js,然后再尝试访问该文件中定义的任何变量:

<html>
    <head>
        <!-- Include global.js first -->
        <script src="/YOUR_PATH/global.js" type="text/javascript"></script>
        <!-- Now we can reference variables, objects, functions etc. 
             defined in global.js -->
        <script src="/YOUR_PATH/otherJsFile.js" type="text/javascript"></script>
    </head>
    [...]
</html>

当然,如果您不想让js文件的加载中断初始页面加载,则可以在结束 -tag之前链接脚本标签。



 类似资料:
  • 问题内容: 如何在JavaScript中声明全局变量? 问题答案: 如果必须在生产代码中生成全局变量(应避免使用),请 始终 明确 声明它们: 虽然可以通过省略来定义全局变量(假设没有同名的局部变量),但这样做会生成 隐式 全局,这是一件不好的事情,并且在 严格模式下 会产生错误。

  • 我在typescript中声明了一个全局变量,类似于:global。test=“something”我尝试这样做,我得到错误属性“test”在类型“Global”上不存在。

  • 问题内容: 我在一个组件(在应用程序中加载的第一个组件)中初始化了翻译对象。所有其他组件都需要相同的对象。我不想在每个组件中重新初始化它。怎么回事?使它可用于窗口范围并没有帮助,因为我需要在方法中使用它。 请提出针对这些问题的通用解决方案,而不是针对国际的解决方案。 问题答案: 为什么不尝试使用Context? 您可以在任何父组件中声明一个全局上下文变量,并且可以在组件树中通过来访问此变量。您只需

  • 问题内容: 我有这样的代码: 有什么方法可以在一处定义全局变量并使所有函数一次访问该变量?不利用更多? 问题答案: 该数组可以代替使用: 从手册: 包含对所有变量的引用的关联数组,这些变量当前在脚本的全局范围内定义。变量名是数组的键。 如果您有一组需要一些公共变量的函数,那么带有属性的类可能是一个不错的选择,而不是全局的:

  • 问题内容: 我正在创建一个需要登录的应用程序。我创建了main和login活动。 在主要活动onCreate方法中,我添加了以下条件: onActivityResult登录表单终止时执行的方法如下所示: 问题是登录表单有时会出现两次(该login()方法被调用两次),而且当电话键盘滑动时,登录表单也会再次出现,我想问题是出在变量上strSessionString。 有谁知道如何设置全局变量以避免在

  • 问题内容: 我想制作一个可以在整个应用程序中访问的自定义对象的全局数组(AppDelegate,ViewController类,TableViewController类等)。我已经研究了一种解决方法,但没有找到答案。我曾尝试将数组设置为公共范围,但是收到了编译器警告,提示当我尝试在其他文件中访问该数组时,出现错误提示 我将如何使该数组可被应用程序中的所有文件全局访问,我将在哪里实例化该数组? 问题