我有一個有趣的問題,在Firefox中被破壞的地圖。當我測試空映射是否有字符串「watch」時,它將返回true並返回watch()函數。我想讓它返回false,因爲我沒有在地圖上添加「watch」鍵。一個簡單的例子Javascript地圖返回功能
我通常創建一個像
var myMap = {}
myMap["apple"] = 1;
myMap["pear"] = 2;
基本地圖,並測試如果映射對象我會寫
if ("apple" in myMap) { ... }
而問題是,當我要添加如果地圖沒有準備好包含地圖,則將字符串「觀看」到地圖上。所以當我檢查地圖是否包含「watch」時,它會返回true。
if ("watch" in myMap) { ... }
// This also returns true. and returns the function watch()
有關如何避免此行爲的任何想法?
感謝
對象有內置的特性,[Object.watch(HTTPS://developer.mozilla。 org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/watch)是其中之一,使用一個尚未使用的屬性名稱,並且它自行解決。 – adeneo