我有一个Javascript和全局变量litte问题。 根据我几分钟前在寻找解决方案时阅读的文章,函数外定义的变量是全局的,可以在整个文档中使用。那么,这似乎并不适用于我。基本上,甚至为什么我尝试的过程简化到这一点:函数不读取全局变量
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');
......
....
..
我得到了0和1的window.alert,但不是2.当我设置一个window.alert(list_amount)函数里面,它返回undefined。全局变量不应该在函数内部工作吗?如果我误解了某些东西,有没有办法让函数变量成为全局函数,而不必将它们添加到函数参数中?
createElements()之外还有什么?这个函数是否在另一个函数中?如果是这样,list_amount不会是全局的,它将在本地函数 –
您是否在声明list_amount之前调用createElements? –
就是这样 - 卢克得到了 - 这是一个悬而未决的问题。声明被提升到顶部,设置为undefined,那么如果你在将它设置为1的行之前调用createElements,它仍然是未定义的 –