Javascript 创建一个简单的私有变量全局访问body元素
这确实是一个初学者的问题,但在stackoverflow上找不到真正解决这个问题的任何地方,因此非常感谢您的帮助。我只想定义一个私有变量,然后将其返回到全局范围 在本例中,我可以在刷新页面后在JS控制台中访问x,但脚本在加载正文(head标记末尾的source)之前运行,我无法创建与正文内容相关的元素,因为它们尚未加载:Javascript 创建一个简单的私有变量全局访问body元素,javascript,Javascript,这确实是一个初学者的问题,但在stackoverflow上找不到真正解决这个问题的任何地方,因此非常感谢您的帮助。我只想定义一个私有变量,然后将其返回到全局范围 在本例中,我可以在刷新页面后在JS控制台中访问x,但脚本在加载正文(head标记末尾的source)之前运行,我无法创建与正文内容相关的元素,因为它们尚未加载: var x = 5; window.onload = function() { var y = 10; } 我无法访问变量y,大概是因为它是一个在全局范围内不可用的
var x = 5;
window.onload = function() {
var y = 10;
}
我无法访问变量y,大概是因为它是一个在全局范围内不可用的私有变量(我在这里是否正确?)。使用return失败。我只是希望能够从主体中创建变量,但我不能,因为脚本没有及时加载
如何做到这一点?我实际上无法解决这个大概很简单的问题。感谢您的帮助。当我需要控制台中的变量时,我使用的一种简单方法是将它们分配到
窗口,如下所示:
window.y = y;
然后在您的控制台中,y
以及window.y
将是该变量:)当我需要控制台中的变量时,我使用的一种简单方法是将它们分配给window
,如下所示:
window.y = y;
然后在控制台中,y
以及window.y
将是该变量:)在全局范围内声明y
,并在onload函数中初始化它
var x = 5;
var y;
window.onload = function() {
y = 10;
}
在全局范围中声明y
,并在onload函数中初始化它
var x = 5;
var y;
window.onload = function() {
y = 10;
}
您可以创建一个全局名称空间,并在以后向其添加属性
var namespace = Object.create(null); // empty object without prototypes
window.onload = function() {
namespace.y = 10;
}
您可以创建一个全局名称空间,并在以后向其添加属性
var namespace = Object.create(null); // empty object without prototypes
window.onload = function() {
namespace.y = 10;
}
很明显,您不能在window.onload函数之外访问y,因为在您检查y是什么时,窗口还没有加载
var x=5;
window.onload=函数(){
变量y=10;
}
console.log(y)
您显然无法在窗口外访问y.onload函数,因为在您检查y是什么时窗口尚未加载
var x=5;
window.onload=函数(){
变量y=10;
}
console.log(y)
根据您试图访问y的方式,您无法访问它(因为它是私有的)的假设可能不是全部事实。。。如果您尝试在window.onload函数之外控制台.log(y),它将在定义y之前执行。可能的重复取决于您尝试访问y的方式您认为您无法访问它,因为它是私有的,这可能不是全部事实。。。如果您尝试在window.onload函数外部控制台.log(y),它将在定义y之前执行