我在我的html文件中有一個腳本部分,我創建了我的gmap
對象的新實例。函數initMap()
之外,變量gMap
未定義,儘管我聲明它在函數之外。JavaScript變量undefined功能之外
var gMap;
function initMap() {
gMap = new gmap({
//some Properties
});
console.log(gMap); //gMap is defined
}
console.log(gMap); //gMap is undefined
的函數被調用是這樣的:
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
</script>
我也嘗試調用它通過$(document).ready
,而不是谷歌API的回調,但什麼也沒有改變。
當您將它記錄在函數外時,您尚未將gmap設置爲任何內容。唯一的一次設置是當你調用initMap的時候。當頁面加載時,函數外部的任何JavaScript都會執行。 – jordaniac89
你可以發佈一個鏈接到plunkr或帶有MINIMALIST例子的問題。 – gh9