浏览器什么时候进入作用域:
1)当“看到”script标签的时候;
2)当调用一个方法的时候。
进入作用于后,发生了什么事?
1. JS预解析(为执行准备)
1)开辟一个空间;
2)找代码里面有没有var,有没有参数,有没有方法的声明。如果有var,有方法参数,就会把var和方法参数声明的变量,赋值成undefined存到空间里面,如果有function,就会把function所有内容存到空间里。
2. JS逐行执行
找有没有表达式,+ = * / = ++ -- */ ...
如果有,就进入作用域根据表达式修改空间中的。
下面看几个例子的分析:
一、
在内存里面,当方法名称和变量的名称一致的时候,方法就会覆盖变量。
二、
下面这两个结果是一样的:
三、
最后,给大家一些玩前端的建议:
1.玩前端,有什么特点?
(1) 门槛低;
(2) 玩精难。
玩前端者,得JS者,得天下!
2.高级前端开发(高薪),你需要会什么?
(1) 精通1~2门后端语言!会前后端交互!(全栈);
(2) 精通JS (面向对象、设计模式、JS主流框架[vue、react、Agular...]的原理和使用);
(3)丰富的项目经验。
有几个弱弱的不成熟的小建议:
'use strict';
const
let
arrow functions