在javascript函数中设置全局变量

Set global variable inside javascript function

本文关键字:设置 全局变量 函数 javascript      更新时间:2023-09-26

这是我的代码:

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);
});