我正在制作一个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