这里用静态方法的目的是什么
来源:3-7 初始化管理器与Process.cwd

迷失的小麦
2020-06-04
const requireDirectory=require('require-directory');
const Router=require('koa-router');
class InitManager {
static initCore(app){
InitManager.app=app;
InitManager.initLoadRouters();
}
static initLoadRouters() {
const apiDirectory=`${process.cwd()}/app/api`;//绝对路径,process.cwd()获取当前根目录文件夹的路径
requireDirectory(module, apiDirectory, { visit: whenLoadModule });
function whenLoadModule(obj) {
if (obj instanceof Router) {
InitManager.app.use(obj.routes());
}
}
// app.use(classic.routes())
}
}
module.exports=InitManager;
写回答
2回答
-
慕九州4451910
2020-08-20
所有在类中定义的方法,都会被实例继承。但是,如果在一个方法前加上static关键字,表明它是一个静态方法,表示该方法不会被实例继承,而是直接通过类来调用。
那么什么时候该用实例方法,什么时候该用静态方法呢?
我的理解是:如果某些操作依赖实例属性的时候使用实例方法,反之如果某些操作不需要依赖实例属性的时候就写成静态方法。
00 -
7七月
2020-06-04
这个思路不太对。你应该思考,这里为什么要用实例方法?
022020-06-05
相似问题