函数不读取全局变量

时间:2011-11-24 22:03:09

标签: javascript jquery global-variables

我遇到了Javascript和全局变量的问题。 根据几分钟前我在搜索解决方案时读到的一篇文章,在函数外定义的变量是全局的,可以在整个文档中使用。 嗯,这似乎对我不起作用。基本上,甚至为什么我试图简化这个过程:

var list_amount = 1;
function createElements() {
    window.alert('0');
    var cintfa_list_top = $("<div>").attr({"id":"intfa_list_top"});
    $('#intfa_list').empty()
    $('#intfa_list').append(cintfa_list_top);
    var j=0;
    window.alert('1');
    for (j=0;j<list_amount;j++) {
        window.alert('2');
            ......
            ....
            ..

我得到了window.alert为0和1,但没有为2.当我在函数内部设置window.alert(list_amount)时,它返回undefined。全局变量不应该在函数内部工作吗?如果我误解了某些东西,是否有办法为函数创建变量全局,而不必将它们添加到函数参数中?

2 个答案:

答案 0 :(得分:0)

我试用了你的代码http://jsfiddle.net/lastrose/ALd2b/,似乎工作正常。 我唯一能想到的就是所有定义的地方。

答案 1 :(得分:0)

代码中存在挂起脚本的错误。事实上,关闭和功能非常有效(也可以注释掉$,因为这里没有定义)。

检查Firebug或Chrome / Opera javascript控制台是否有错误。

LE:看到jsfiddle.net/ALd2b/2之后你应该在变量赋值后调用该函数。