我遇到了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。全局变量不应该在函数内部工作吗?如果我误解了某些东西,是否有办法为函数创建变量全局,而不必将它们添加到函数参数中?
答案 0 :(得分:0)
我试用了你的代码http://jsfiddle.net/lastrose/ALd2b/,似乎工作正常。 我唯一能想到的就是所有定义的地方。
答案 1 :(得分:0)
代码中存在挂起脚本的错误。事实上,关闭和功能非常有效(也可以注释掉$,因为这里没有定义)。
检查Firebug或Chrome / Opera javascript控制台是否有错误。
LE:看到jsfiddle.net/ALd2b/2之后你应该在变量赋值后调用该函数。