将变量传递给函数

时间:2012-06-04 20:24:59

标签: javascript jquery

我声明了一个变量:

var recent;

我编写了一个需要传递给它的变量的函数。但是,我相信正在发生的变量是作为字符串传递的。 var由thisVar

表示
function detachVariable(thisDiv, thisVar, fileName) {

    //Check if this section is visible:
    if($(thisDiv + " li").length > 0) {
        $(thisDiv).prepend(thisVar);
    } else {

        //If variable does not have content stored, store it:
        if(thisVar === undefined) {

            $("#site-nav li a").parents().removeClass("nav-active");
            $(this).addClass("nav-active");
            $(thisDiv + " ul.top-level").load('assets/includes/' + thisFile, function () {
                $(this).show().siblings().hide();
                ajaxAudioController();
            });

            //If variable has content, show it:
        } else {
            $("#site-nav li a").parents().removeClass("nav-active");
            $(this).addClass("nav-active");
            $(thisDiv).prepend(thisVar);
        }
    }

}

我的点击功能:

$("#site-nav .nav1").on("click", function (event) {
    detachVariable("#recent", "recent", "recent.php");
    event.preventDefault();
});

有没有办法可以将变量传递给函数?

3 个答案:

答案 0 :(得分:4)

如果我理解正确的话......您只需删除recent周围的引号..见下文,

detachVariable("#recent", recent, "recent.php"); //removed quotes 

答案 1 :(得分:1)

只是省略第二个参数周围的引号。有了它们,你确实传递了一个字符串文字而不是变量。

答案 2 :(得分:0)

Javascript中的变量具有全局范围。因此,您可以使用recent == whatever而不是尝试将其作为参数传递。