如何在导出默认值中调用函数内部的另一个函数?
How to call another function inside function in export default?
export default {
one: () => {
//some codes
},
two: () => {
//some codes
one(); // error
this.one(); // error
}
}
我有这样的模块,我想在函数 two() 中调用函数 one()。
但是我得到这样的错误:TypeError: Cannot read property 'one' of undefined
.
我该如何解决?我想知道原因。
如何将它们提取到单独的函数中,然后将它们包含在导出中?
const one = () => {
//some codes
};
const two = () => {
//some codes
one();
};
export default {
one,
two
}
如果您想为 this
关键字提供新的上下文,则不应使用箭头函数。
看这个例子,它在two
方法中使用了一个箭头函数。它会 return 错误,因为 this
关键字与对象无关,但保留了上一个函数的上下文。
let obj = {
one: function() {
console.log("one");
},
two: () => { // Arrow function
this.one();
}
}
obj.two();
如果使用普通函数,this
关键字将与对象相关:
let obj = {
one: function() {
console.log("one");
},
two: function() { // Normal function
this.one();
}
}
obj.two();
这是箭头函数和普通函数的主要区别
export default {
one: () => {
//some codes
},
two: () => {
//some codes
one(); // error
this.one(); // error
}
}
我有这样的模块,我想在函数 two() 中调用函数 one()。
但是我得到这样的错误:TypeError: Cannot read property 'one' of undefined
.
我该如何解决?我想知道原因。
如何将它们提取到单独的函数中,然后将它们包含在导出中?
const one = () => {
//some codes
};
const two = () => {
//some codes
one();
};
export default {
one,
two
}
如果您想为 this
关键字提供新的上下文,则不应使用箭头函数。
看这个例子,它在two
方法中使用了一个箭头函数。它会 return 错误,因为 this
关键字与对象无关,但保留了上一个函数的上下文。
let obj = {
one: function() {
console.log("one");
},
two: () => { // Arrow function
this.one();
}
}
obj.two();
如果使用普通函数,this
关键字将与对象相关:
let obj = {
one: function() {
console.log("one");
},
two: function() { // Normal function
this.one();
}
}
obj.two();
这是箭头函数和普通函数的主要区别