我有一个类功能
var myapp = function() {
this.method = function() {
//Do something...
}
}
要从方法内部引用,函数中myapp
的第一行是myapp
var self = this;
所以一个方法myapp
可以安全地引用“类”
this.anothermethod = function() {
self.method();
}
完整代码:
var myapp = function() {
var self = this;
this.dosomething = function(Callback) {
Callback();
}
this.anothermethod = function() {
//Pass a callback ("self" is required here)...
this.dosomething(function() {
self.complete();
)};
}
this.complete = function() {
console.log('All done!');
}
}
我的问题是var self = this;
:我可以从声明之外分配myapp
吗?我不想在self
每次写“类”时都设置。
有点像这样:
var library = function() {
this.loadclass = function(Name) {
var tempclass = window[Name];
library[Name] = new tempclass();
library[Name].self = library[Name];
}
}
var myapp = new library();
myapp.loadclass('myapp');
myapp.myapp.dosomething();
它没有按预期工作。出于某种原因self
等于。window
我知道这有点不正常的编程,但可以做到吗?
使用注意事项self
:我记得我为什么开始使用它。我想this
从方法内部的回调中引用基类 ()。只要您尝试在this
方法内的函数内使用,它就会引用该方法,而不是基类。