想象一下,如果我希望某个代码块,只执行一次,就不再执行,应该怎么办?
代码块肯定是用函数来表示,执行肯定是调用函数,但是确保只执行一次,该怎么办?
我们为什么可以多次调用函数,因为函数名指向了函数的内存区域,通过函数名()
的方式去调用函数;
那没有函数名,不就可以不被多次调用吗,也就是说,我们需要声明一个匿名函数,并且立即去调用;
函数表达式和箭头函数都可以声明一个匿名函数;
有两种写法:
-
用括号,将匿名函数括起来,再加上
()
去调用; -
匿名函数加上
()
先调用,再用括号括起来,但是箭头函数不能这样写,会报错;具体如下图所示:
这样的写法,函数只执行一次,并且是立即执行,执行完毕以后,因为没有函数名指向这块内存区域,故而会被垃圾回收;
这样的做法,
可以提高代码运行效率;
可以使函数内声明的变量,执行完毕以后就被垃圾回收,不会引起全局污染;
可以用在初始化上,先执行初始化,完毕以后就垃圾回收,节省内存;
标签:调用,函数,JavaScript,调用函数,立即,匿名,内存,执行 From: https://www.cnblogs.com/Journing/p/16969806.html