私は、jsonに格納されたいくつかのレベルを特徴とする、javascriptゲームを作っています。 読み込み、Iは、またはのような、オブジェクトがいくつかの値を置き換えることにより、デフォルト値では存在しない値を置き換えることにより、レベルのオブジェクトを「解析」する機能を実行する:厳密な評価のための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.
}
問題されるI機能を通じてこれらと同様の「IFS」をたくさん持っている、と私はこれを行うことができますので、私は何とか機能にそれらを減らすことができる場合、私は疑問に思って:
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