JS作用域详解

作用域的概念:

1.当看到<script>标签的时候,会进入到作用域

2.当进入到一个function里面的时候,会进入到作用域。

当进入到作用域之后,执行两个步骤:

1.js与解析

首先先画一个区域,然后去找var和方法参数function。如果有var 和有方法参数,就把var和方法参数声明的变量设置为undefined放在区域里面,如果有function,就把function里面的所有内容放放在区域里面。

2.js逐行执行

就去找有没有表达式,+-*/ ++--+=-= =,若果有表达式,则修改js预解析里面的内容

列子1:

例子2:

列子3:

特别注意:

1.在js预解析的时候一个变量和一个方法同名:变量就会隐藏,同名的方法覆盖。

2.作用域里面调用里面的方法,作用域外面调用外面的方法。

3.解析时没有发现var或者方法参数就回到上级作用域去找同名的变量如果有直接cop到子作用域-----叫做作用域链

原文地址:https://www.cnblogs.com/sunliyuan/p/7233110.html