首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Javascript中跨多个文件的全局变量

Javascript中跨多个文件的全局变量
EN

Stack Overflow用户
提问于 2010-05-29 05:54:58
回答 5查看 256.1K关注 0票数 141

我的一堆JavaScript代码在一个名为helpers.js的外部文件中。在调用这段JavaScript代码的超文本标记语言中,我发现自己需要知道是否调用了来自helpers.js的某个函数。

我尝试通过定义以下内容来创建全局变量:

代码语言:javascript
复制
var myFunctionTag = true;

在我的HTML代码和helpers.js中的全局范围内。

下面是我的html代码:

代码语言:javascript
复制
<html>
...
<script type='text/javascript' src='js/helpers.js'></script>    
...
<script>
  var myFunctionTag = false;
  ...
  //I try to use myFunctionTag here but it is always false, even though it has been se t to 'true' in helpers.js
</script>

我想要做的事情可行吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-05-29 05:57:10

在包含helpers.js文件之前,需要先声明变量。只需在helpers.js的include上创建一个脚本标记,并在那里定义它。

代码语言:javascript
复制
<script type='text/javascript' > 
  var myFunctionTag = false; 
</script>
<script type='text/javascript' src='js/helpers.js'></script>     
... 
<script type='text/javascript' > 
  // rest of your code, which may depend on helpers.js
</script>
票数 134
EN

Stack Overflow用户

发布于 2010-05-29 08:00:29

该变量可以在.js文件中声明,也可以在HTML文件中引用。我的helpers.js版本

代码语言:javascript
复制
var myFunctionWasCalled = false;

function doFoo()
{
    if (!myFunctionWasCalled) {
        alert("doFoo called for the very first time!");
        myFunctionWasCalled = true;
    }
    else {
        alert("doFoo called again");
    }
}

和一个页面来测试它:

代码语言:javascript
复制
<html>
<head>
<title>Test Page</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<script type="text/javascript" src="helpers.js"></script>
</head>

<body>


<p>myFunctionWasCalled is
<script type="text/javascript">document.write(myFunctionWasCalled);</script>
</p>

<script type="text/javascript">doFoo();</script>

<p>Some stuff in between</p>

<script type="text/javascript">doFoo();</script>

<p>myFunctionWasCalled is
<script type="text/javascript">document.write(myFunctionWasCalled);</script>
</p>

</body>
</html>

您将看到测试alert()将显示两个不同的内容,并且第二次写入页面的值将不同。

票数 16
EN

Stack Overflow用户

发布于 2018-06-18 18:35:52

您好,要将值从一个js文件传递到另一个js文件,我们可以使用本地存储概念

代码语言:javascript
复制
<body>
<script src="two.js"></script>
<script src="three.js"></script>
<button onclick="myFunction()">Click me</button>
<p id="demo"></p>
</body>

Two.js文件

代码语言:javascript
复制
function myFunction() {
var test =localStorage.name;

 alert(test);
}

Three.js文件

代码语言:javascript
复制
localStorage.name = 1;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2932782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档