Javascript 未捕获类型错误:数字不是函数
我只是想了解这段代码发生了什么,我深入研究了嵌套函数和更高阶的主题,以及return语句。但我仍然想结束这种怀疑(不确定连续两个返回语句),这导致我来到这里,需要帮助我理解,以及所有适用的问题Javascript 未捕获类型错误:数字不是函数,javascript,typeerror,nested-function,return,Javascript,Typeerror,Nested Function,Return,我只是想了解这段代码发生了什么,我深入研究了嵌套函数和更高阶的主题,以及return语句。但我仍然想结束这种怀疑(不确定连续两个返回语句),这导致我来到这里,需要帮助我理解,以及所有适用的问题 function higher_order(){ return function addNum() { return 1+1; return function subNum() { return 1-1; }; }; }; alert(high
function higher_order(){
return function addNum()
{
return 1+1;
return function subNum()
{
return 1-1;
};
};
};
alert(higher_order()()());
问题是函数在第一个return语句之后停止运行;您的
高阶
返回函数addNum
,该函数返回数字2;这是不可调用的,异常发生在第三个括号中()
返回函数higher\u order()
addNum()
返回数字2addNum()
(2
)不能作为函数调用,因此会出现异常higher_order()()
您可以尝试
alert(higher_order()())
查看第三个调用使用的值。问题是函数在第一个return语句之后停止运行;您的高阶
返回函数addNum
,该函数返回数字2;这是不可调用的,异常发生在第三个括号中()
返回函数higher\u order()
addNum()
返回数字2addNum()
(2
)不能作为函数调用,因此会出现异常higher_order()()
alert(higher_order()())
查看第三次调用使用的值。//请尝试以下方法:
function higher_order(){
return function addNum(){
return function subNum(){
return 1-1;
};
};
};
高阶函数()//返回函数addNum
higher_order()()//返回函数subNum
higher_order()()()//返回从subNum(0)返回的值。//请尝试以下方法:
function higher_order(){
return function addNum(){
return function subNum(){
return 1-1;
};
};
};
高阶函数()//返回函数addNum
higher_order()()//返回函数subNum
higher_order()()()//返回从subNum(0)返回的值每当你看到两个这样的返回时,仔细想想,如果函数返回1+1,它怎么也应该返回一个函数?每当你看到两个这样的返回时,仔细想想,如果函数返回1+1,它应该如何返回一个函数?