JavaScript将变量的值公开

JavaScript将变量的值公开,javascript,function,variables,scope,Javascript,Function,Variables,Scope,下面是我的大JavaScript文件的摘录: function dashboardConfig() { $(window).on('resize', function () { var viewport = { width : $(this).width(), height : $(this).height() }; el.siteContainer.css( {

下面是我的大JavaScript文件的摘录:

function dashboardConfig()
{
    $(window).on('resize', function () {

        var viewport = {
            width : $(this).width(),
            height : $(this).height()
        };

        el.siteContainer.css(
        {
            marginTop : (viewport.height - 652) / 2
        });

        el.dashboardSlide.css(
        {
            marginLeft : (viewport.width - 1024) / 2,
            marginRight : (viewport.width - 1024) / 2
        });

        //Calculate how many nav elements
        el.navElements.each(function(i)
        {           
            el.dashboard.css(
            {
                width : viewport.width * (i + 1)
            });

            $(this).click(function()
            {
                //HERE IS THE VARIABLE I WOULD LIKE TO USE
                var dashboardSlidePosition = viewport.width * i;

                el.navElements.removeClass('active');
                $(this).addClass('active');

                el.dashboard.animate(
                {
                    left : -dashboardSlidePosition
                },500, function()
                {
                    el.dashboard.css(
                    {
                        left : -dashboardSlidePosition
                    });
                });
            });
        });

        //I WANT TO PERFORM ANOTHER FUNCTION HERE AND HAVE IT USE THE VALUE OF dashboardSlidePosition


    }).trigger('resize');
}
我想知道如何将变量dashboardSlidePosition的值传递给另一个函数。有人能解释一下吗


非常感谢。

您可以在您的范围外声明它。确保给它一个初始值,以便在正确设置之前不要尝试使用它

function dashboardConfig()
{
    var dashboardSlidePosition = null;

    function anotherFunction() {
        if (dashboardSlidePosition != null) {
            // ...
        }
    }

    $(this).click(function()
    {
        dashboardSlidePosition = viewport.width * i;
    }
}

把它放在适当的范围内:

function dashboardConfig()
{
    var dashboardSlidePosition = 0;
接下来,在重新定义var时将其删除


现在您可以使用它,因为它在函数的作用域中。

在更高的作用域中声明它。