作用域提升之后name不应该是undefined吗,为什么直接给值了?是V8引擎给的优化吗,这么做有什么好处?

img


作用域提升之后name不应该是undefined吗,为什么直接给值了?是V8引擎给的优化吗,这么做有什么好处?

如果name是undefined,那还叫作用域提升吗,那不是纯纯的完全按照顺序执行吗,那不是老c语言干的事吗
这样做的好处就是灵活啊,你可以随便把变量定义在任何地方,不影响你使用它
如果只能先定义后使用,那两个函数互相调用就成为了不可能,只能是后定义的函数调用先定义的函数