我的一堆JavaScript代码在一个名为helpers.js的外部文件中。在调用这段JavaScript代码的超文本标记语言中,我发现自己需要知道是否调用了来自helpers.js的某个函数。
我尝试通过定义以下内容来创建全局变量:
var myFunctionTag = true;
在我的HTML代码和helpers.js中的全局范围内。
下面是我的html代码:
<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>
我想要做的事情可行吗?
发布于 2010-05-29 05:57:10
在包含helpers.js文件之前,需要先声明变量。只需在helpers.js的include上创建一个脚本标记,并在那里定义它。
<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>
发布于 2010-05-29 08:00:29
该变量可以在.js
文件中声明,也可以在HTML文件中引用。我的helpers.js
版本
var myFunctionWasCalled = false;
function doFoo()
{
if (!myFunctionWasCalled) {
alert("doFoo called for the very first time!");
myFunctionWasCalled = true;
}
else {
alert("doFoo called again");
}
}
和一个页面来测试它:
<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()
将显示两个不同的内容,并且第二次写入页面的值将不同。
发布于 2018-06-18 18:35:52
您好,要将值从一个js文件传递到另一个js文件,我们可以使用本地存储概念
<body>
<script src="two.js"></script>
<script src="three.js"></script>
<button onclick="myFunction()">Click me</button>
<p id="demo"></p>
</body>
Two.js文件
function myFunction() {
var test =localStorage.name;
alert(test);
}
Three.js文件
localStorage.name = 1;
https://stackoverflow.com/questions/2932782
复制相似问题