调用栈执行

一、EC(G)全局执行上下文

1.默认情况下浏览器会生成一个全局执行上下文

2.默认情况下它会自动出现在栈底(浏览器关闭的时候释放)

二、VO(G)全局变量对象--全局执行上下文中的对象

三、GO全局对象

1.浏览器在加载界面的时候会创建一个空间,它里面存放了一些我们在JS可以直接访问的API(setTimeout setInterval JSON...)

2.为了JS方便找到它们,在全局执行上下文当中的VO中定义了一个变量叫window

1.浏览器在加载界面后默认情况下会创建 执行环境栈 执行上下文 以及GO

2.EC(G)内部有VO(G),专门存放当前上下文里面所出现的数据

3.EC(G)会在浏览器把当前界面关闭之后,才会执行出栈,

4.基本类型存放在栈中

5.作用域链查找机制最终会在GO中找,找不到就报错

函数

1.函数的变量提升与变量不同的点是函数在提升阶段函数是声明+定义都做提升,而变量是只做声明提升

2.函数也是一个对象,因此会占用一个堆内存

3.函数在创建的时候就会确定好它的作用域

4.函数所对应的堆内存当中会将函数体以字符串的方式保存起来(直接打印函数名)

函数的执行过程:

1.确定作用域链

2.确定this

3.初始化arguments

4.形参赋值

5.变量提升

6.代码执行

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值