有人可以幫助我這個。我不知道爲什麼在函數'go2'中不能識別全局定義的對象'arr',是否需要通過函數'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/以顯示我正在處理的內容。邏輯是一樣的,但我的小提琴處理谷歌地圖。在使用drawRoute方法繪製它之後,我無法移除基於ID的多段線,在這種情況下,ID是目標座標。該drawnRouteObj總是不確定在線29
這些函數是如何調用的? – Pointy
沒有顯示任何設置'arr'上的任何屬性。你永遠不會打電話去()。令人困惑的對象字面名稱叫做'arr',大多數人會認爲它暗含的是數組,它不是 – charlietfl
我的錯誤是,我忘記了在我的代碼的簡化示例中啓動代碼函數。在我的代碼中,go函數是在每10秒調用一次的ajax調用中啓動的。 –