一、JavaScript解析顺序
1.(定义)先解析var、function、参数
a.该步骤的var只定义变量,后面的 = 赋值不解析
b.该步骤的函数只定义函数,函数的执行不解析
c.var和函数重名,函数优先
2.(执行)再从上至下执行上述代码
二、作用域
1.最大作用域为script标签
2.遇到函数执行产生新的作用域
3.产生新的作用域后,同样按照定义-执行的规则解析该作用域的代码
4.子作用域可以解析父作用域的参数和变量,反之不行
5.每个作用域要访问变量时,先从自身找,找不到再往上一级找
三、return函数时,作用域问题
执行结果:
undefined
3