Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript如何允许您在不实际创建对象的情况下执行成员函数?_Javascript_Class - Fatal编程技术网

JavaScript如何允许您在不实际创建对象的情况下执行成员函数?

JavaScript如何允许您在不实际创建对象的情况下执行成员函数?,javascript,class,Javascript,Class,我遇到了一些导出类的代码 export default class RestaurantsDAO { static async injectDB(conn) {/definitions} } 它是按如下方式导入的 import RestaurantsDAO from "./dao/restaurantsDAO.js" PromiseObj.then( client =>{ await RestaurantsDAO.injectDB(client) }) 静

我遇到了一些导出类的代码

export default class RestaurantsDAO {
    static async injectDB(conn) {/definitions}
}
它是按如下方式导入的

import RestaurantsDAO from "./dao/restaurantsDAO.js"

PromiseObj.then( client =>{
await RestaurantsDAO.injectDB(client)
})

静态函数是构造函数的成员,而不是原型。原型成员是从实例访问的,而静态成员是直接从构造函数(在本例中是RestaurantsDAQ函数)访问的。

因为它是静态的?因为它是静态方法,所以它不需要创建它的实例。因此,通过这种方式,无论您从何处访问它,它都将具有单例值。请注意,如果此方法是该
类中唯一的方法,那么这是一种非常糟糕的模式。@Bergi有更多的方法,我只是删除了所有的实现代码和其他函数,以保持此问题的简单性