第一次使用對象文字,看起來我不太明白它們是正確的。我需要的是具有對象範圍的私有變量,因此對象文本中的所有函數都可以訪問它們。在JavaScript對象文字中獲得設置訪問權限
這裏的問題:
我有一個簡單的對象字面映射對象
var mapObj = {
init: function (lat, lng, documentID) {
var myOptions = {
center: new google.maps.LatLng(lat, lng),
zoom: 18,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById(documentID),
myOptions);
return map;
},
setMarker: function (lat, lng, map, contentObj) {
var myLatlng = new google.maps.LatLng(lat, lng);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: "Hello World!",
content: contentObj
});
}
};
這是所有罰款,我可以用它作爲mapObj.init(....)和mapObj.setMarker(...)完美地工作。
我想要做的就是存儲一些這些變量值 - 比如init()方法中的'map',然後讓它可以被其他方法訪問。對於例如我不需要在setMarker中傳遞'map',因爲mapObj應該在init方法之後內部保存地圖。
同樣,我想能夠做mapObj.getMap()來訪問在init中創建的地圖對象。
我無法弄清楚它是如何工作的。聲明var map爲
var mapObj {
var map
}
例如引發錯誤。
我是否期待這樣的工作太像C#?我應該使用經典的JavaScript'類'結構嗎?任何指針都可以幫助我繼續前進。
感謝
美麗!非常感謝。仍然習慣於JavaScript對象/函數/文字/範圍的複雜性。但是,這完全按照我的意願工作。 – Gerry 2012-01-15 16:53:57