Javascript 如何从另一个文件调用类中的函数
我正试图找出如何完成以下任务。我希望能够调用另一个文件中类中的函数: 文件1 文件2 ES5*/函数Canonical(){} myMethod(){…}Canonical.prototype.myMethod=函数(){…}; } 你可以这样称呼它:Javascript 如何从另一个文件调用类中的函数,javascript,reactjs,Javascript,Reactjs,我正试图找出如何完成以下任务。我希望能够调用另一个文件中类中的函数: 文件1 文件2 ES5*/函数Canonical(){} myMethod(){…}Canonical.prototype.myMethod=函数(){…}; } 你可以这样称呼它: Canonical.prototype.myMethod(); //或者,将其作为对象上的方法调用 Canonical.prototype.myMethod.call(anObject); 但是,您创建的不是方法,而是在每个实例上创建的属性,
Canonical.prototype.myMethod();
//或者,将其作为对象上的方法调用
Canonical.prototype.myMethod.call(anObject);
但是,您创建的不是方法,而是在每个实例上创建的属性,它恰好是一个函数:
类异常{/*在ES5*/函数异常()中{
myFunction=()=>{…};this.myFunction=function(){…};
} }
它只存在于实例上,因此您必须创建一个实例来调用它:
new unspecial().myFunction();
然而,我不能推荐这种定义“方法”的方法,除非您特别需要它是预先绑定的。这在React.Component
类中很有用,但现在有了React钩子,用例正在减少
类测试{
构造函数(){this.a='newsomething().myFunction(…)
您需要了解静态和非静态方法。您可能需要实例化该类或使函数成为静态的myFunction
是一个实例方法,而不是静态实例/非静态方法不能使用类名调用。看来更新函数以使用静态方法解决了问题。您是否可以发布回答,这样我就可以接受了?
export class Something {
constructor() {
...
}
myFunction = () => {
...
}
}
import { Something } from 'file1';
export function theFunction() {
if (condition met) {
Something.myFunction(...) // The myFunction is saying it's not a function
}
}