刷新数组的对象引用

时间:2014-06-15 12:10:49

标签: javascript jquery html

我在一个基于javascript的网站上工作,有多种语言设置。语言存储在外部文件中,app.en.jsapp.de.js。这两个都定义了lang对象:

lang = {
    introText0 : 'Lorem',
    introText1 : 'Ipsum',
    introText2 : 'Dolor'
}

现在我有一个负责更改语言的功能:

function changeLanguage(language) {
     delete lang;
     if(language === 1) { $.getScript('app.en.js'); }
     if(language === 2) { $.getScript('app.de.js'); }
}

到目前为止一切顺利。这在理论上有效。整个应用程序都引用了lang对象,替换了每个文本。引用的每个文本都会通过此更改进行更新,但是,有些数组也会引用这些更改,并且它们无法正确更新。

var upgradeItems = new Array();
upgradeItems[0] = new Array(lang.upgradeItem0, 13, 5, true);

我认为Java的垃圾收集实际上只删除了Object的未推荐属性,并且由于这些属性在changeLanguage()发生之前被引用,因此它们会保留在应用程序中。我如何解决这个问题并“刷新”这些数组?

0 个答案:

没有答案