在 JavaScript 模块中使用它
using this in JavaScript module
我写了以下代码(模型):
module.exports = {
test() {
console.log('test')
},
iffer(nb) {
if (nb !== 0) {
this.test()
}
}
}
我收到错误“test is not a function”。
并尝试了以下方法:
let that = this
module.exports = {
test() {
console.log('test')
},
iffer(nb) {
if (nb !== 0) {
that.test()
}
}
}
此解决方案仍然无效,因为 JavaScript 模块默认启用严格模式。有谁知道这个问题的解决方案吗?
再次参考module.exports
。
iffer(nb){
if (nb !== 0) {
module.exports.test()
}
}
您也可以先将导出的对象放入一个独立的变量中,以便于引用。或者,让 所有 函数独立以便于参考,然后导出包含所有这些函数的对象。
const test = () => console.log('test');
const iffer = (nb) => {
if (nb !== 0) {
test();
}
};
module.exports = { test, iffer };
如果您的环境与 ES6 模块语法兼容,我建议改用它们。
export const test = () => console.log('test');
export const iffer = (nb) => {
if (nb !== 0) {
test();
}
};
我写了以下代码(模型):
module.exports = {
test() {
console.log('test')
},
iffer(nb) {
if (nb !== 0) {
this.test()
}
}
}
我收到错误“test is not a function”。
并尝试了以下方法:
let that = this
module.exports = {
test() {
console.log('test')
},
iffer(nb) {
if (nb !== 0) {
that.test()
}
}
}
此解决方案仍然无效,因为 JavaScript 模块默认启用严格模式。有谁知道这个问题的解决方案吗?
再次参考module.exports
。
iffer(nb){
if (nb !== 0) {
module.exports.test()
}
}
您也可以先将导出的对象放入一个独立的变量中,以便于引用。或者,让 所有 函数独立以便于参考,然后导出包含所有这些函数的对象。
const test = () => console.log('test');
const iffer = (nb) => {
if (nb !== 0) {
test();
}
};
module.exports = { test, iffer };
如果您的环境与 ES6 模块语法兼容,我建议改用它们。
export const test = () => console.log('test');
export const iffer = (nb) => {
if (nb !== 0) {
test();
}
};