ここでは、私がやりたいことの過度に単純化された例を示します。現在、私はこのようなものがあります:Javascript範囲外の変数の参照
function foo(arg1, arg2) {
var obj ={
render:[arg1]
};
obj.render.forEach(function(theArg) {
console.log(theArg)
});
}
foo('one','two');
//Displays 'one'
を私が変更できるようにしたい "objの外部とobj.renderアレイに「arg2に」(または関数foo内でスコープされている他の変数)を追加します。
セットアップ機能は、存在する場合としない場合があり、オブジェクト 'obj'を変更する必要がある追加のスクリプトを表します。残念ながら、arg1とarg2はこのインスタンスでは範囲外ですので、このコードは実行されません。どのように私はこれを達成することができます任意のアイデア?
関数に 'obj'を取る第3引数を追加しますか? 'function foo(arg1、arg2、obj)'のようになり、 'obj'を第3の関数として渡すだけです...あなたの質問はかなり不明瞭です。あなたのより良い、より適切な答えを与えることができると呼ばれる。 – ppeterka
「*外部から「obj」を変更できるようにしたいですか?あなたが示したサンプルコードでは、宣言を最初のスニペットのように 'foo'関数内に置かない理由はありません。 'obj'と一緒に使いたいコードを追加して、' foo'の呼び出し方法と場所を表示してください。 – Bergi
あなたのユースケースを説明できますか?または、実際の関数呼び出しでコードの一部を表示しますか? – Ma3x