Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS-在函数中设置变量值,但在函数外使用变量?_Javascript - Fatal编程技术网

Javascript JS-在函数中设置变量值,但在函数外使用变量?

Javascript JS-在函数中设置变量值,但在函数外使用变量?,javascript,Javascript,我需要在函数内设置变量值,但在函数外使用它。这能做到吗 $(document).ready(function() { $(window).scroll(function () { var myVar = something; }); console.log(myVar); }); 对。只需在函数外部声明变量。是的,但首先需要在函数外部声明它 $(document).ready(function() { var myVar; $(wind

我需要在函数内设置变量值,但在函数外使用它。这能做到吗

$(document).ready(function() {
    $(window).scroll(function () {
        var myVar = something;
    });
    console.log(myVar);
});

对。只需在函数外部声明变量。

是的,但首先需要在函数外部声明它

$(document).ready(function() {
    var myVar;

    $(window).scroll(function () {
       myVar = something;
    });

    console.log(myVar);
});

只需知道,myVar只有在触发滚动事件后才会更新。因此,console.log将记录未定义的日志,因为它在事件运行之前运行并设置变量。

在.scroll处理程序之前,添加var myVar;。在.scroll处理程序中,不要使用将创建新变量的var。但是,请注意,当您记录myVar时,它将是未定义的,因为在scroll处理程序实际运行之前它不会被设置。为什么在文档中包含myVar时将其设置为全局值就足够了?他说他希望在函数之外使用它。如果他在函数外部不需要它,那么是的,我会在函数内部声明它。在内部$window.scroll函数外部,不一定在$document.ready外部,因为他们实际上正在尝试使用它。我同意。。。好的做法是将其声明为尽可能小的范围。然而,我对原始问题的理解是将其用于$window.scroll函数和$document.ready函数之外。
<script>
  var myVar = "foo";
  $(document).ready(function() {
      $(window).scroll(function () {
          myVar = something;
      });
      console.log(myVar);
  });
</script>