0
有沒有什麼原因讓我不應該使用函數引用作爲對象的屬性/鍵?此代碼在Chrome,火狐,& IE8,但「只是因爲一些工作......」使用函數引用作爲對象屬性/鍵是安全的
var x = {}
var a = function() { return 'a' };
var b = function() { return 'b' };
x[a] = 1
x[b] = 2
x[a] === x[a] // returns true
x[a] === x[b] // returns false
x[b] === x[b] // returns true
x[a] // returns 1
x[b] // returns 2
具有相同主體的兩個不同函數將序列化爲相同的字符串。這可能不希望。 –
哦,僅供參考,ECMAScript 6將介紹適當的地圖:http://wiki.ecmascript.org/doku.php?id=harmony:simple_maps_and_sets。任何值/對象都可以成爲一個關鍵。 –