我的大脑今天早上没有工作 - 自从我做JavaScript以来已经有一段时间了。这是一个很小的例子:
function foobar() {
var that = this;
}
foobar.prototype.bletch = function() { console.log(that) }
xyzzy = new foobar();
xyzzy.bletch();
给予:ReferenceError: can't find variable: that
我可以通过以下方式完成此任务:
extend(foobar, { bletch: function() ... } );
那么,写这个的正确方法是什么?我需要能够从外部调用此对象/函数的方法,并让它记住创建时this
的内容。 (我知道这是一个愚蠢的问题。)
我不使用像JQuery这样的软件包,但不能这样做。
答案 0 :(得分:0)
嗯......将放在里面这个功能起作用了:
function foo() {
var that = this;
this.bar = function() { console.log(that) }
}
zoo = new foo();
zoo.bar()
"现在回到我身边......"