javascript - ReferenceError 引发反应 js 箭头函数
问题描述
我有下面的正常功能。它工作正常。
function getCheck(result, orderBy) {
return result === 'desc'
? (a, b) => compareFunction(a, b, orderBy)
: (a, b) => -compareFunction(a, b, orderBy);
}
我尝试像下面这样重写,但收到了错误消息:
ReferenceError: a 未定义
function getCheck(result, orderBy) {
if (result === 'desc') {
return compareFunction(a, b, orderBy);
} else if (result === 'asc') {
return compareFunction(a, b, orderBy);
} else {
return 0;
}
}
如何重写上述函数而不报错?
解决方案
在第一个代码块中,它从函数返回一个新getCheck
函数。但是在您重写的代码中,您正在返回执行的结果compareFunction
。你不能写没有错误。如果你想compareFunction
用 a 和 b 调用,你必须定义它们。
在第一个代码的情况下,您正在重新定义函数,因此您不必声明变量a
and b
。
推荐阅读
- r - 尝试在 data.table 中使用 .SD
- python - discord.py bot rewrite AttributeError: 'Bot' object has no attribute 'send_message'
- android - 昏暗的安卓系统栏
- javascript - Angular router.redirect 不填充变量
- javascript - 路由组件何时初始化?
- python - 如何加快查找哪个图像像素颜色不在给定颜色列表中
- css - Bootstrap 4 导航栏上的下拉菜单
- python - Pandas xlsxwriter 将数据框写入 excel 并实现列宽和边框相关格式
- slf4j - 使用 slf4j 1.8 或更高版本测试日志记录
- object - 如何从内存中释放存储在 TreeView 中的对象?