我写了一段读取文本文件的javascript / jquery 我在使用变量" fieldname"时遇到问题。我在外部函数()中声明它,并在内部函数()中为它分配一个实际读取文件的值。但是在我离开内部函数之后,变量的内容就丢失了。代码:
<script>
$(document).ready(function(){
var usedlanguage = $("#usedlanguage").html();
var fieldname = new Array();
$.get('Language.txt', function(data)
{
var lines = data.split('\n');
var res="";
for(var i = 0; i<lines.length;i++)
{
var splitup = lines[i].split('\t');
fieldname[i] = splitup[0];
res = res + fieldname[i] + '\n';
}
alert("fieldname length = " + fieldname.length); // here everything is OK
alert("" + res); //this is good.
});
alert("fieldname length = " + fieldname.length); // here it suddenly returns 0.
});
</script>
我对范围的理解是否有问题?或者是定义了两个function()的问题?或其他什么?
答案 0 :(得分:0)
您需要在DOM ready事件之外声明变量以使其成为全局变量。目前它的背景仍然只是在现成的事件中,而不是在此之外。以这种方式使用它::
var fieldname = new Array();
$(document).ready(function(){
//rest code
});