是否可以在对象上设置默认函数,以便在调用myObj()
时执行该函数?假设我有以下func
对象
function func(_func) {
this._func = _func;
this.call = function() {
alert("called a function");
this._func();
}
}
var test = new func(function() {
// do something
});
test.call();
我想简单地用test.call()
替换test()
。这可能吗?
答案 0 :(得分:6)
返回一个函数:
function func(_func) {
this._func = _func;
return function() {
alert("called a function");
this._func();
}
}
var test = new func(function() {
// do something
});
test();
但是this
指的是返回的函数(对吗?)或窗口,你必须缓存this
才能从函数内部访问它({{1} }})
this._func();