setInterval无法访问变量?

时间:2011-09-09 07:34:42

标签: javascript

我有一个名为showchild(pgid)的JavaScript函数。我已准备好文件准备功能......

$(document).ready(function()
{
     var pgid = $('#hiddenuserkey').val();
    //alert(pgid);
     showchild(pgid);
     setInterval("showchild(pgid)",1000);
});

1 个答案:

答案 0 :(得分:7)

您正在以最糟糕的方式使用它 - 传递一个字符串。

请改用以下代码:

setInterval(function() {
    showchild(pgid);
}, 1000);

传递字符串时,将在全局上下文中对其进行求值,而无需访问任何非全局变量。通过传递一个函数(首选方法),所有可访问的变量都保存在函数的闭包中,因此pgid在函数调用时被定义。