Javascript - 捕获对对象属性的访问
- 论坛
- Javascript - 捕获对对象属性的访问
8 浏览
Javascript - 捕获对对象属性的访问
有没有可能当访问对象的某个属性时或试图访问该属性时进行捕获?
例如:
我创建了一个自定义对象Foo
var Foo = (function(){ var self = {}; // ... 设置一些属性 return self; })();
然后对Foo
执行一些操作 - 有人试图访问属性bar
Foo.bar
有没有办法(可能是原型)来捕获这个操作?bar
可以在Foo
上是未定义的。我可以捕获对未定义属性的任何访问。
例如,如果bar
在Foo
上是未定义的,并且试图访问Foo.bar
,类似这样:
Foo.prototype.undefined = function(){ var name = this.name; // 试图访问的属性的名称(bar) Foo[name] = function(){ // ...做一些事情 }; return Foo[name]; }
但是,这个示例是函数式的。
概念
Foo.* = function(){ }
背景
如果我有一个自定义函数,我可以监听每次调用该函数的次数(见下面的代码)。只是想知道是否可能用于属性访问。
Foo = function(){}; Foo.prototype.call = function(thisArg){ console.log(this, thisArg); return this; }