闭包真的导致了这两种代码输出结果不同吗?
闭包:为何不同操作结果迥异?
问题描述:
有人发现一个代码片段,其中第一种操作无法输出内容,而第二种却可以。他们希望了解其中的原因,并寻求帮助。
解答:
首先需要明确,闭包与这个问题无关。所谓闭包,是指一个函数可以访问其外部作用域的变量,即使该函数已经返回。
回到代码片段,无法输出内容的原因在于,第一种情况下返回的是一个函数,但并未调用该函数,因此当然不会有输出。要想得到输出,需要调用该函数:
startgame(fps)()
而第二种情况下,直接调用了函数,因此会输出内容。
以上就是闭包真的导致了这两种代码输出结果不同吗?的详细内容,更多请关注硕下网其它相关文章!