javascript - 如何从函数外部访问局部变量?

标签 javascript jquery

如何从函数外部访问局部变量?

按下时,它应该提醒 distance_bottom 值,但它不起作用,我怎样才能使它起作用?

http://jsfiddle.net/dyjb8r9w/11/

<script>
$(window).load(function(){
(function() {    
    var mY, distance_bottom,
        $distance_bottom = $('#distance_bottom span'),
        $element_bottom  = $('#element_bottom');

    function calculatedistance_bottom(elem , mouseY) {
        return Math.floor(Math.sqrt(Math.pow(mouseY - (elem.offset().top+(elem.height()/2)), 2)));
    }

    $(document).mousemove(function(e) {        
        mY = e.pageY;
        distance_bottom = calculatedistance_bottom($element_bottom , mY);
        $distance_bottom.text(distance_bottom);
    });
})();
});
</script>





<script>
function reply_click()
{    
    alert(distance_bottom);
}
</script> 

最佳答案

您可以通过在其前面添加 window. 前缀并将其从顶部的变量声明中删除来使其成为全局变量。下面这行就成功了

window.distance_bottom = calculatedistance_bottom($element_bottom , mY);

DEMO

关于javascript - 如何从函数外部访问局部变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26281548/

相关文章:

javascript - 理解 JavaScript 函数

javascript - 尽管数组已填充值,但值未定义

javascript - 无论如何要知道 div 的 css 是在类中还是在 javascript/jquery 中的 id 中设置的?

javascript - 带星级的反馈模式

jquery - jquery中分割字符串

javascript - 从 Node JS 中的生成器获取返回值

javascript - ResponsiveVoice.js 无法与 Phonegap 编译器一起正常工作

Jquery 增加悬停时的 div 大小?

javascript - 移动导航在滚动时消失

jquery - 溢出 :hidden breaks jQuery slider