0
我試圖動態地改變所有的對象在Javascript中,以便其構建可以掛鉤。這是我現在得到,幾乎正常工作:如何在Javascript正確掛鉤之前獲取類AOP對象?
Function.prototype.beforeConstruction = function(newFunc) {
var oldObj = this;
var newObj = function() {
newFunc.apply(this, arguments);
oldObj.apply(this, arguments);
}
newObj.prototype = oldObj.prototype;
return newObj;
};
它這樣使用:
someObj = someObj.beforeConstruction(function() {
//executed before someObj is constructed
});
現在的問題是,如果對象具有這樣的靜態字段:
someObj.staticField = "example";
將對象重置爲鉤子時,這些將會丟失。複製原型對此沒有幫助。
任何人都可以幫助我嗎?請記住,這必須在不需要修改現有對象的情況下工作(以便它可以用於現有的庫)。
問候, 湯姆
你認爲這是最有效的方式來獲得beforeConstruction掛鉤的工作? – Tom 2010-10-31 22:21:17