具有嵌套函数的函数是否被视为单个函数?

时间:2017-07-20 22:14:33

标签: javascript function nested

作为训练营应用程序流程的一部分,我是JavaScript新手并致力于编码挑战。

这个问题需要编写一个函数来完成任务。

虽然我看得很远,但我还没有得到答案。

如果我编写一个包含其他嵌套函数的函数,那还是会被认为是一个函数吗?

2 个答案:

答案 0 :(得分:3)

  

如果我编写一个包含其他嵌套函数的函数,那还是会被认为是一个函数吗?

是。一个函数是一个封装单元,它是一个黑盒子。你可以调用它,并获得结果,但是从外面看时,它的实现方式并不重要。将其内部实现模块化为多个本地函数的函数与只要行为相同的函数无法区分。

答案 1 :(得分:0)

从技术角度来看,你甚至不能编写一个不会调用嵌套函数的函数。单独声明变量的行为将调用一系列函数来分配内存,然后最终调用程序集中的函数,然后调用处理器中的函数,调用函数将调用到调用的内存驱动程序。

类似地,调用操作符来设置或操作变量是函数调用,它们都是分层APIS调用函数链。

假设您编写了一个如下所示的函数min

function min(a,b) {
    return Math.min(a,b);
}

即使它正在调用全局函数,它仍然是单个函数。

如果为复杂对象编写内部函数,则适用相同的逻辑

function min(data) {
    var smallest = function(a,b) { 
        if (a.x<b.x) { return a;}
        else if (a.y>b.y) { return b;}
        else if (a.y<b.y) return a;
        return b;
    }
    return smallest(data[0],data[b]);
}