在javascript函数中设置全局变量
Set global variable inside javascript function
这是我的代码:
var ww;
$(window).on('resize load', function() {
ww = $(window).width();
});
console.log(ww);
我想在调整大小和加载时获得窗口宽度,但变量ww
总是未定义的。我不明白我做错了什么。
这里发生的情况是,您将一个函数绑定到窗口的"resize"answers"load"事件,尽管您试图在触发这两个事件之前记录ww
的值。
要知道,只有在加载了整个页面并准备好使用Javascript进行操作后,才会调用window.onload
事件。在触发此事件之前执行任何操作意味着一旦加载了脚本本身(当到达脚本标记或文件时),就立即执行它,尽管您可能试图访问的任何元素本身可能都没有加载。
由于这两个事件都没有被激发,所以ww
将没有值,因为在执行var ww;
时没有将其初始化为任何值。
您需要做的是在事件处理程序中记录ww
的值,如下所示:
var ww;
$(window).on('resize load', function() {
ww = $(window).width();
console.log(ww);
});
这将导致在加载页面后以及每次调整页面大小时调用事件处理程序,这意味着ww
将设置为$(window).width();
。
尝试以下代码
您可以使用窗口访问全局变量。
var ww;
$(window).on('resize load', function() {
window.ww = $(window).width();
console.log(window.ww);
});
相关文章:
- 在javascript函数中设置全局变量
- 如何从onclick函数设置全局变量并将其传递给另一个JS文件
- 使用eval()设置全局变量
- Ajax设置全局变量,但外部值消失
- 更新后,父视图未在 Electron 中的
上设置全局变量 - 为什么在定义回调/侦听器函数(异步消息传递,port.on)后没有立即设置全局变量
- 如何在不设置全局变量的情况下确定是否已调用函数
- 在函数内设置全局变量
- jQuery / JS设置全局变量,但卡在传递给AJAX自定义函数
- 在 jsdom 加载的脚本中设置全局变量
- 设置全局变量,但未获得预期结果
- 延迟调用 dojo widget 中的函数,直到设置全局变量
- 如何在Javascript中设置全局变量
- ngresource在成功响应中设置全局变量
- 如何在点击事件中设置全局变量
- 通过future函数循环和设置全局变量
- 尝试用javascript函数设置全局变量
- jQuery Ajax Post -无法使用回调函数设置全局变量
- jQuery load()函数不设置全局变量
- 设置全局变量并在jquery/javascript中访问它