多くの場合、私はこのような関数を定義して呼び出します - 特にフラグを使用する場合:
function cat(doMeon, doCloseEyes)
{
if (doMeon) console.log("Meon...");
if (doCloseEyes) console.log("Hmm, I closed my eyes...");
}
...
// And then call, using flags. Names are temporary, only for readability
cat(doMeon=true, doCloseEyes=true);
「cat(true, true)」を実行することもできますが、読みやすさが損なわれることに注意してください。
しかし、これがもたらす問題は、2 つの変数がグローバル スコープにあることです。また、グローバル スコープを汚染するべきではありません。しかし、これはできません:
// Doesn't work...
cat(var doMeon=true, var doCloseEyes=true);
ここでベストプラクティスとして使用できるアプローチはありますか? (注: これらの変数を外部で定義するのはあまり良い考えではありません。)