我已经读过,当我们在一个函数中声明一个带有 window 对象的变量时,它变成一个全局变量,即我们可以在函数外部访问该变量。
但是我在访问该全局变量时遇到了问题,并且它将 undefined 作为输出。
以下是代码段:
window.js
function m(){
window.value=100;//declaring global variable by window object
}
function n(){
document.write("Global var value: "+ window.value);//accessing global variable from other function
}
window.html
<html>
<head>
<script type="text/javascript" src="window.js"> </script>
</head>
<body>
<p> This is global variable test. </p>
<form>
<input type="button" onclick="n()" value="Click!!"/>
</form>
</body>
</html>
全局变量值:未定义
请帮我解决这个问题。
答案 0 :(得分:2)
我已经读过,当我们在函数内声明一个带有
window
对象的变量时,它就变成了一个全局变量......
它不是声明,它是一项任务。这很重要,因为直到/除非您已编写的代码的逐步执行到达该行(而声明是在逐步执行的阶段处理的,否则它不会发生)在范围内))。
您的代码中的问题是您的m
函数永远不会被调用,因此其中的代码永远不会运行,因此不会创建全局代码。
全球可能无法解决您无论如何要解决的任何问题,因为它的价值。 : - )
答案 1 :(得分:0)
您应首先执行m()
功能,如下所示设置variable
。
(function m(){
window.value=100;//declaring global variable by window object
})();
答案 2 :(得分:0)
使用.js文件,如下所示:
function m(){
window.value=100;//declaring global variable by window object
}
function n(){
m();
document.write("Global var value: "+ window.value);//accessing global variable from other function
}