比方說,我有下面的代碼,這我不能修改有沒有辦法從JavaScript中的引用覆蓋構造函數?
var namespace = {};
function() {
var MyConstructorFunction = function() {
alert("default behavior");
};
namespace.MyConstructorFunction = MyConstructorFunction;
setTimeout(function() {
var instance = new MyConstructorFunction();
}, 1000)
}();
我想在全球範圍內從中我只能訪問namespace
製作instance
與構建外部添加一些代碼alert("custom behavior")
;
只是爲了澄清我的意圖,讓我們說,我可以認爲這兩個aproaches的:
namespace.MyConstructorFunction = function() {
alert("custom behavior");
};
或
namespace.MyConstructorFunction.prototype.constructor = function() {
alert("custom behavior");
};
但顯然他們沒有工作。有沒有辦法做到這一點?
如果你說你想改變公司在'setTimeout'調用,則沒有構造函數。那裏使用的變量對立即調用的函數是本地的。你不能碰那個變量,而且函數本身是不可變的,所以真的沒有辦法做到這一點。 –