Javascript 为什么使用窗口对象定义的变量会给出未定义的值?

Javascript 为什么使用窗口对象定义的变量会给出未定义的值?,javascript,Javascript,我已经读到,当我们在函数中声明一个带有窗口对象的变量时,它就会变成一个全局变量,也就是说,我们可以在函数外部访问该变量 但是我在访问全局变量时遇到了问题,它将未定义的作为输出 下面是代码片段: window.js window.html 这是全局变量测试 输出 全局var值:未定义 请帮我做这个 我读过,当我们在函数中声明一个带有window对象的变量时,它就变成了一个全局变量 这不是一个声明,这是一个任务。这很重要,因为它不会发生,直到/除非您编写的代码的逐步执行达到这一行(而声明是在[范

我已经读到,当我们在函数中声明一个带有窗口对象的变量时,它就会变成一个全局变量,也就是说,我们可以在函数外部访问该变量

但是我在访问全局变量时遇到了问题,它将未定义的作为输出

下面是代码片段:

window.js

window.html


这是全局变量测试

输出 全局var值:未定义

请帮我做这个

我读过,当我们在函数中声明一个带有
window
对象的变量时,它就变成了一个全局变量

这不是一个声明,这是一个任务。这很重要,因为它不会发生,直到/除非您编写的代码的逐步执行达到这一行(而声明是在[范围内]的预先逐步阶段中处理的)

代码中的问题是,
m
函数从未被调用,因此其中的代码从未运行过,因此没有任何东西创建全局函数


不管你想解决什么样的问题,不管它值多少钱,一个全球性的解决方案可能都不是解决的办法。:-)

您应该首先执行
m()
函数,如下所示,以设置
变量

(function m(){  
    window.value=100;//declaring global variable by window object  
})();

使用.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  
}  

在任何时候都不要调用
m()
,这是设置变量的第一步。。。
(function m(){  
    window.value=100;//declaring global variable by window object  
})();
    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  
}