Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 具有嵌套函数的函数是否被视为单个函数?_Javascript_Function_Nested - Fatal编程技术网

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

Javascript 具有嵌套函数的函数是否被视为单个函数?,javascript,function,nested,Javascript,Function,Nested,我是JavaScript新手,正在进行一项编码挑战,这是训练营应用程序过程的一部分 这个问题需要编写一个函数来完成一项任务 虽然我已经看了很多地方,但我还没有找到答案 如果我写了一个包含其他嵌套函数的函数,它还会被认为是一个函数吗 如果我写了一个包含其他嵌套函数的函数,它还会被认为是一个函数吗 对。函数是一个封装单元,它是一个黑盒。您可以调用它,并返回结果,但从外部看,如何实现它并不重要。将其内部实现模块化为多个局部函数的函数与不模块化的函数是无法区分的,只要其行为相同 如果我写了一个包含其他嵌

我是JavaScript新手,正在进行一项编码挑战,这是训练营应用程序过程的一部分

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

虽然我已经看了很多地方,但我还没有找到答案

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

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

对。函数是一个封装单元,它是一个黑盒。您可以调用它,并返回结果,但从外部看,如何实现它并不重要。将其内部实现模块化为多个局部函数的函数与不模块化的函数是无法区分的,只要其行为相同

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

对。函数是一个封装单元,它是一个黑盒。您可以调用它,并返回结果,但从外部看,如何实现它并不重要。将其内部实现模块化为多个局部函数的函数与不模块化的函数是无法区分的,只要其行为相同。

从技术角度来看,您甚至不能编写一个不调用use嵌套函数的函数。仅声明变量的行为就是调用一系列函数来分配内存,内存最终调用汇编中的函数,汇编调用处理器中的函数,处理器调用函数,内存驱动调用函数

类似地,用于设置或操作变量的调用操作符是函数调用,它们都是调用函数链的分层API

假设您编写了一个函数
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]);
}
功能最小值(数据){
var=函数(a,b){
如果(a.xb.y){返回b;}
否则,如果(a.y是

从技术角度看,你甚至不能编写一个不调用或使用嵌套函数的函数。仅声明变量的行为就将调用一系列函数来分配内存,这些函数最终会调用汇编中的函数,汇编中的函数会调用处理器中的函数,处理器中的函数会调用内存驱动程序中的函数电话

类似地,用于设置或操作变量的调用操作符是函数调用,它们都是调用函数链的分层API

假设您编写了一个函数
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]);
}
功能最小值(数据){
var=函数(a,b){
如果(a.xb.y){返回b;}

else if(a.yIt取决于评估你的人,但为了安全起见,我绝对不会这样做。相反,如果需要,你可以始终使用
这个
。一个带有嵌套函数的函数在某种程度上会变成一个“类”或“模块”。从功能上来说(呵呵!),它不仅仅是一个函数,但在语法上它只是一个。它当然可以解释,但为了安全起见,我可能会避免嵌套。@Obsidiage我刚刚开始学习面向对象编程。我不知道如何使用它。几乎你写的任何代码都会调用某种函数或函数因此,如果有人抱怨使用您编写的嵌套函数,那么您就是在争论语义问题。例如,假设您在函数中使用
Math.min
,那么它仍然被视为单个函数。您在函数中编写自己的
min
函数会改变这种逻辑吗?@obsidiange multiple函数替换为此函数,其值可以是任何对象(或严格模式下的任何值),并且在每次调用函数时可能不同?这取决于评估您的人员,但为了安全起见,我绝对不会这样做。相反,如果需要,您可以始终使用
this
。具有嵌套函数的函数可能会成为“类”或“模块”,在功能上(呵呵!),它不仅仅是一个函数,但在语法上它只是一个。它当然可以解释,但为了安全起见,我可能会避免嵌套。@Obsidiage我刚刚开始学习面向对象编程。我不知道如何使用它。几乎你写的任何代码都会调用某种函数或函数因此,如果有人抱怨使用您编写的嵌套函数,那么您就是在争论语义问题。例如,假设您在函数中使用
Math.min
,那么它仍然被视为单个函数。您在函数中编写自己的
min
函数会改变这种逻辑吗?@obsidiange multiple函数替换为该函数,其值可以是任何对象(或严格模式下的任何值)函数的每次调用都可能不同?我认为将内部工作描述为函数调用是没有用的,OP显然是关于本机函数的。谢谢!这是一个有用的解释,我认为将内部工作描述为函数调用是有用的,OP显然是关于本机函数的。谢谢!这是这是一个有用的解释