JavaScript中的拦截对象属性访问
我希望能够截获以前在JavaScript中未设置的对象的访问属性。我想知道这是否可能 Python中的等效方法是JavaScript中的拦截对象属性访问,javascript,Javascript,我希望能够截获以前在JavaScript中未设置的对象的访问属性。我想知道这是否可能 Python中的等效方法是\uuu getattr\uu内置方法: class P(object): def __getattr__(self, name): return name p = P() x = p.x p、 x以前不存在,但拦截对以前未创建的成员变量的访问。JavaScript中是否有类似的内容?您可以使用。来自MDN的示例: var handler = { g
\uuu getattr\uu
内置方法:
class P(object):
def __getattr__(self, name):
return name
p = P()
x = p.x
p、 x以前不存在,但拦截对以前未创建的成员变量的访问。JavaScript中是否有类似的内容?您可以使用。来自MDN的示例:
var handler = {
get: function(target, name){
return name in target?
target[name] :
37;
}
};
var p = new Proxy({}, handler);
p.a = 1;
p.b = undefined;
console.log(p.a, p.b); // 1, undefined
console.log('c' in p, p.c); // false, 37
但是,这是不可能的。谢谢。这里重复提问的网络礼仪是什么?我应该删除它还是保持原样?保持原样。这就像是复制品的“路标”,我想它可能有用。我使用了“截取”这个词,而不是“捕获”或“动态设置器”,因此它可能对像我这样思考的人有所帮助。