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