《高级程序设计》
- 作用域的前端,始终是当前的执行的代码所在的执行环境的变量对象
- 作用域与定义时的环境有关,而不是执行时的环境
- JavaScript中的函数运行在它们被定义的作用域里,而不是被执行的作用域里
- scope chain(作用域)
- 一个函数被定义时,会将它定义时刻的scope chain(作用域)链接到函数对象的[[scope]]属性
- 这个函数被调用时,会创建一个活动对象,并把此函数的形参,局部变量。然后把这个活动对象推到作用域的最前端
- JS的预编译是以段为处理单元的
<script> alert(typeof eve); // undefined因为在这一段没有预处理到eve </script> <script> function eve () { alert('hi'); } </script>
JavaScript作用域原理与预编译处理

本文深入探讨了JavaScript中的作用域概念,包括作用域的前端与定义时环境的关系,以及函数运行在其被定义的作用域内的特性。同时解释了JavaScript的预编译过程是如何以段为单位进行的。
1559

被折叠的 条评论
为什么被折叠?



