有谁知道在以 OO 方式使用 JavaScript 时绕过声明 var self = this 的方法?我经常看到它并且很好奇它是否只是您必须做的事情,或者是否真的有一种方法(也许是类库?)可以让您绕过它?我确实意识到为什么有必要(这具有功能范围)。但你永远不知道那里可能有什么聪明的方法。
例如,我通常在 JS 中这样编写我的“类”:
function MyClass() {
}
MyClass.prototype = {
firstFunction: function() {
var self = this;
$.ajax({
...
success: function() {
self.someFunctionCall();
}
});
},
secondFunction: function() {
var self = this;
window.setTimeout(function() {
self.someOtherFunction();
}, 1000);
}
};