誰かがこれを手伝ってくれますか?なぜグローバルに定義されたオブジェクト 'arr'が関数 'go2'で認識されないのかわかりませんが、関数 'go2'を通してオブジェクトを渡す必要がありますか?以下は私のコード例です。異なる機能のjavascriptオブジェクト値 - 地図からポリラインを削除
var arr = {};
function go(){
var id = "id";
var val = 2;
arr[id] = val;
}
function go2(name){
console.log(name);
// can't get this to show the name value which should be 2 defined by 'val which is defined in the 'go' function.
}
setInterval(function(){
var id = "id";
var name = arr[id];
go2(name);
}, 3000);
編集:他の人が指摘しているように私はgo
関数を呼び出していませんでした。私がここに投稿したコードは、私が現在取り組んでいるものの簡略版です。私はここでフィドルを作成しましたhttps://jsfiddle.net/david230/v99pppk1/私が取り組んでいることを示す。ロジックは同じですが、私の手がかりはGoogleマップを扱います。 drawRouteメソッドを使用して描画すると、IDに基づいてポリラインを削除することはできません。 drawnRouteObjは、それがarr
はそうあなたのsetInterval関数内arr[id]
がエラーをスローします参照する空のオブジェクトであることを意味し、実行されることは決してありませんgo
のように見える、あなたがここに提供されているコードからのラインに常に29
これらの関数はどのように呼び出されますか? – Pointy
これまで表示されていないものは、 'arr'のプロパティを設定していません。あなたは決してgo()を呼びません。 'arr'を呼び出すオブジェクトリテラルの名前が混乱していますが、それはほとんどが配列ではないことを暗示すると思います。 – charlietfl
私の間違いは、コードの単純化されたこの例ではコード関数を開始するのを忘れていました。私のコードでは、10秒ごとに呼び出されるajax呼び出しでgo関数が開始されます。 –