Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.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 将变量传递给函数_Javascript_Jquery - Fatal编程技术网

Javascript 将变量传递给函数

Javascript 将变量传递给函数,javascript,jquery,Javascript,Jquery,我声明了一个变量: var recent; 我写了一个函数,需要将变量传递给它。然而,我相信正在发生的是变量被作为字符串传递。var由此var表示: function detachVariable(thisDiv, thisVar, fileName) { //Check if this section is visible: if($(thisDiv + " li").length > 0) { $(thisDiv).prepend(thisVar);

我声明了一个变量:

var recent;
我写了一个函数,需要将变量传递给它。然而,我相信正在发生的是变量被作为字符串传递。var由
此var
表示:

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();
});

有什么方法可以将变量传递到函数中吗?

如果我理解正确。。您所要做的就是删除
recent
周围的引号。。见下文

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

如果我理解正确的话。。您所要做的就是删除
recent
周围的引号。。见下文

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

只需省略第二个参数周围的引号。使用它们,实际上是在传递字符串文字而不是变量。

只需省略第二个参数周围的引号。使用它们,您实际上是在传递字符串文字而不是变量。

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

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

这样我就得到了一个错误:“未捕获引用错误:未定义此文件”
thisFile
$(thisDiv+“ul.top-level”).load('assets/includes/'+thisFile,function(){
未在函数
detachVariable
中定义,因此我得到一个错误:“未捕获引用错误:未定义此文件”
thisFile
$(thisDiv+“ul.top-level”).load('assets/includes/'+thisFile,function(){
未在函数
detachVariable>中定义