这个问题可能有其他地方的答案,但我甚至不知道如何开始搜索答案。我是 JavaScript 的新手,所以这对我来说很难理解。
给定以下代码:
function multiple(n) {
function f(x) {
return x * n;
}
return f;
}
var triple = multiple(3);
var quadruple = multiple(4);
当我将以下内容输入到控制台时:
console.log(triple(5));
我得到了我期望的结果,即15。同样地,对于任何数字,它都会被三倍(如果我使用第二个函数,则会被四倍)。 但是当我在控制台中输入"triple"时,我得到了以下代码:
f(x) {
return x * n;
}
控制台不应该返回“未定义”而是一个错误消息吗?
f(x) {
return x * 3;
}
由于以下代码的存在,3已经被编入该函数:
var triple = multiple(3);