gpt4 book ai didi

javascript - javascript中匿名函数的内存消耗

转载 作者:行者123 更新时间:2023-12-02 18:47:07 25 4
gpt4 key购买 nike

一旦使用 function 关键字声明函数,javascript 就会为函数名称分配一个内存块,函数本身将存储在该内存块中。

function maiz(){}
console.log(maiz);//output:function maiz(){}

但是当函数声明为匿名时,js 会做什么或者匿名函数将存储在哪里

(function (){})()

一旦函数被声明,就应该有一些内存来存储匿名函数并执行它。我错了吗?

最佳答案

您不能声明匿名函数。您可以做的是拥有一个匿名函数表达式,这意味着您可以在某个地方(赋值、函数调用参数等)提供函数对象。请参阅Kangax' articlethis question为了区别。

因此,如果您想知道匿名函数表达式去了哪里(在内存中),则必须查看周围的语句。以这个为例:

 (function (){});

在实例化后立即被垃圾收集器消失。如果你有

 (function (){})();

然后内部的代码将被执行(在新的作用域中),但函数本身也不会存储在任何地方。顺便说一句,这个构造被称为 immediately-invoked function expression (IIFE) .

关于javascript - javascript中匿名函数的内存消耗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16254074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com