【发布时间】:2021-07-18 10:36:35
【问题描述】:
我想了解更多关于 javascript 引用范围的信息,我试图从类似这样的另一个文件中导入一个函数
file1.js
exports.checkIfCan = function(){
//make some check
}
exports.calculate = function(){
this.checkIfCan();
}
并在此导入中使用计算方法
file2.js
const { calculate } = require('./file1.js')
calculate()
其实错误是this.checkIfCan is not a function
但是如果我像这样导入所有模块,它就可以工作
const calculation = require('./file1.js')
calculation.calculate();
我只是想了解更多关于 javascript 中的全局/本地范围
【问题讨论】:
-
您需要改为检查课程。您想创建一个带有函数的对象。检查这个:stackoverflow.com/questions/5334383/…
-
我没有收到任何错误,您的两个案例都适用于我的案例....大声笑
-
exports.calculate = () => {肯定使用箭头函数,而不是exports.calculate = function() {。您的错误似乎表明您没有使用箭头函数 -
@NickParsons 你是对的,我没有使用箭头功能,但为什么它应该使用?
-
@VladVlads this 关键字在箭头函数中的作用与在常规函数中的作用略有不同。
标签: javascript node.js module scope