一 例子
二 浏览器的js执行顺序
1. 创建一个独立的空间
2.由上至下顺序查看代码。
3.遇到var时,将var声明的变量保存在独立空间中,变量值为underfined;
4.遇到方法参数时,将方法参数声明的变量保存在独立空间中,变量值为underfined;
5.遇到function方法时,完整保存function方法。
6.当变量名和方法名一致的时候,保留方法,去掉变量;当方法名一致的时候,后执行的方法会覆盖掉前一个方法
从上到下顺序执行,遇到表达式(+、-、*、/、++、--....)就去修改作用域里面的变量值。
三 例题结果分析
1.遇到var a=100,将a录入空间A,有a=underfined。
2.遇到function,空间A保存function完整内容。
3.遇到var a,a指向空间A的a=underfined。找到var a=300,a指向空间A的a=underfined。
4.此时空间A有:a=underfined、function cc(){.....},预解析完成
1.遇到了var a=200,将a录入空间B,有a=underfined,预解析完成
推荐参考网址:http://www.cnblogs.com/lonelyxmas/p/3990954.html
原文:https://www.cnblogs.com/liuXiaoDi/p/12241452.html