jQuery - 如何在函数外使用变量

5

我该如何在声明变量的函数之外使用它?

$(function() {
    function init() {
        var bwr_w = $(window).width();
    }
    init();
    $('#button').click(function() {
        alert('The Browser Height is' + bwr_w);
    });
});

如果我点击按钮,就会出现这个错误: bwr_w未定义
4个回答

18

只需在构造函数的范围内声明该变量:

$(function() {
    var bwr_w = null;

    function init() {
        bwr_w = $(window).width();
    }

    init();

    $('#button').click(function() {
        alert('The Browser Height is' + bwr_w);
    });
});

5

尝试这个

$(function() {
  var bwr_w = 0;
  function init() {
    bwr_w = $(window).width();
  }
  init();
  $('#button').click(function() {
    alert('The Browser Height is' + bwr_w);
  });
});

1
如果你在函数外声明变量,然后在函数内部给它赋值,那么它应该可以在其他地方访问。只要你确定一个值将被分配。如果你不确定,你可能想要分配一个默认值:
$(function() {

        var bwr_w; // or 'var bwr_w = default_value;'

    function init() {
        bwr_w = $(window).width();
    }
    init();
    $('#button').click(function() {
        alert('The Browser Height is' + bwr_w);
    });
});

0

试试这个

  $(function() {
    var bwr_w_var = function() {
        let bwr_w = 'stack overflow';
        return bwr_w;
    };
    function() {
        let bwr_w = bwr_w_var();
        console.log(bwr_w);
    };
  });

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接