我真的不知道如何解释这一点,但我会向您展示代码并告诉您我想要实现的目标。
假设我制作了一个快速对象:
var test = {};
然后我给它设置了一个属性:(我坚持语法,它不能使用任何函数作为setter)
test.hello = 'world';
很简单吧?现在我想向该对象添加一个函数,每次设置新属性时都会调用该函数。像这样:
var test = {
newPropertyHasBeenSet: function(name){
console.log(name + 'has been set.');
}
};
test.hello = 'world';
// Now newPropertyHasBeenSet gets called with 'hello' as an argument.
// hello has been set.
我不知道这是否可能,但这将是非常惊人的。任何人都知道如何实现这一目标?
编辑:我也希望能够对属性 get 做同样的事情(例如,这样test.hello
会调用get('hello')
)。
EDIT2:这是使用 node.js 的服务器端javascript。
非常感谢,祝您有愉快的一天!