jquery/javascript - 从函数外部访问变量

jac*_*ack 6 javascript variables jquery

我试图在它定义的函数之外使用一个变量值.思想I.只需要在函数外部声明变量但不会削减它.对于那些知道的人来说,要轻松一点吗?

在这里小提琴

jQuery(document).ready(function() {

    var readOut;
    var readOut2;

    $(document).mousemove(function(e) {
        readOut1 = e.pageX;
        readOut2 = e.pageY;
        $('#var1').html(readOut1);

    });

    $('#var2').html(readOut2);
})?
Run Code Online (Sandbox Code Playgroud)

感谢所有人,特别是Andy E的解释和解决方案.

And*_*y E 5

您通过注册到事件处理程序的回调函数分配变量.这意味着当它运行时:

$('#var2').html(readOut2);
Run Code Online (Sandbox Code Playgroud)

readOut2具有未定义的值,因为它尚未由mousemove处理函数设置.在当前排队代码停止执行并且用户移动鼠标之前,该处理程序不会触发.您可以在与变量相同的范围内定义函数,并从mousemove处理程序调用该函数.

Re:你对另一个答案的评论,你可以使用一个计时器:

jQuery(document).ready(function() {    
    var readOut1;
    var readOut2;

    $(document).mousemove(function(e) {
        readOut1 = e.pageX;
        readOut2 = e.pageY;
        $('#var1').html(readOut1);

    });

    window.setInterval(function () { 
        $('#var2').html(readOut2);
    }, 300);
})?;
Run Code Online (Sandbox Code Playgroud)