[問題] Google Map 網頁上的變數宣告

看板Ajax作者 (阿佳)時間14年前 (2011/08/23 22:07), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串1/1
請問: 在http://goo.gl/2IOLC的google API 範例中 每一個範例中的第一行宣告 var directionDisplay; 但仔細看了一下下方function()中的宣告卻都是多了個s function initialize() { directionsDisplay = new google.maps.DirectionsRenderer(); directionsDisplay.setMap(map); } function calcRoute() { directionsDisplay.setDirections(result); } 有些疑問 1.那麼第一行的變數還有作用嗎?(是不是要改成directionsDisplay全域變數 讓下方兩個function才能起作用) 2.假如沒作用的話,initialize()裡面的directionsDisplay和calcRoute() 是不是就不相干了? 可是這樣的話應該是不能執行才對,但這個範例http://goo.gl/UYtfU卻成功執行了 還是我以上推論都錯了:( 請大大指教 謝謝:) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.184.125.135

08/23 23:28, , 1F
這..可能筆誤吧 未宣告的變數直接使用會變成全域變數
08/23 23:28, 1F

08/23 23:43, , 2F
所以directionsDisplay在2個function之間互通 了解謝謝!!
08/23 23:43, 2F

08/24 17:10, , 3F
第一行那個就是全域變數 直接在任何function外宣告
08/24 17:10, 3F

08/24 17:11, , 4F
他會變成window物件的一個成員 你的browser 任何地方都可以
08/24 17:11, 4F

08/24 17:12, , 5F
存取 自己寫js盡量不要用這種寫法
08/24 17:12, 5F
文章代碼(AID): #1EKxGUeq (Ajax)
文章代碼(AID): #1EKxGUeq (Ajax)