var obj = {}
obj.__setitem__ = function(key, value){
this[key] = value * value
}
obj.x = 2 // 4
obj.y = 3 // 9
JavaScript 没有 __setitem__ ,这个例子显然行不通。
在 python 中__setitem__ 的工作方式如下:
class CustomDict(dict):
def __setitem__(self, key, value):
super(CustomDict, self).__setitem__(key, value * value)
d = CustomDict()
d['x'] = 2 # 4
d['y'] = 3 # 9
是否可以在 JavaScript 中实现 __setitem__ 行为?所有棘手的解决方法都会有所帮助。