我正在製作一個JavaScript遊戲,具有幾個級別,存儲在json中。 當加載,我運行一個函數來通過替換不存在可以通過默認值的值「解析」級對象,或者通過對象替換一些值,如:javascript替代嚴格評估
//i is the variable I use to loop through the enemies
if (typeof(level.enemies[i].life)=="undefined") {
level.enemies[i].life=100;
}
if (typeof(level.enemies[i].follow)=="number") {
level.enemies[i].follow=level.enemies[level.enemies[i].follow];
// replace the number of the enemy,
// by a reference to the actual enemy.
}
的問題是,我有很多的整個功能的「如果」,類似這些,我想知道如果我以某種方式導致他們的功能,所以我可以這樣做:
replaceByType(level.enemies[i].life,"undefined",100);
replaceByType(level.enemies[i].follow,"number",level.enemies[level.enemies[i].follow]);
可悲的是,我不知道如何做到這一點,因爲他們沒有辦法通過引用傳遞一個變量(除了一個對象)。也許有另一種方法來簡化我的代碼?
太棒了!我沒有想過將物體與物體分開。我們甚至可以做'replaceByType(window,「variable」,「undefined」,5);'改變一個全局變量! – Zelenova 2012-01-14 23:23:32