Web前端学习:章三 -- JavaScript预热(三)

六九:函数提升

函数提升没有var高,var是最高的。
先提var,再提函数
在这里插入图片描述
解析:
1、4行打印之前没有定义变量,预解析触发变量提升
2、先提var,再提函数。所以先把var提升到最上面,然后提升函数到var下面
3、3行的提升的函数覆盖了2行的提升变量,所以4行打印出来的是函数
4、继续向下执行,5行a覆盖3行的函数,因为6行函数没有赋值,所以9行还是维持5行的赋值,所以9行a不是函数

逻辑

1、在真正编译的过程中,代码的执行顺序并不是我们所写的这样,它会优先执行变量的定义,函数的声明。(也就是提升)
预解析分为变量预解析(变量提升)和函数预解析(函数提升)。
(1)变量提升:
就是把所有的变量声明提升到当前的作用域最前面,不提升赋值操作。
因为不会提升赋值,所以值还在原来位置上,在作用域最前面会有var a;,但是原来位置上var a = 10;还在
(2)函数提升:
就是把所有的函数声明提升到当前作用域的最前面,连带函数里面的要执行的操作一起。

2、函数提升的优先级会高于变量提升的优先级
var变量提升是提到最高处,函数提升会提升到变量提升下面,所以同名情况下,函数会覆盖变量

七十:JavaScript中的window对象的基本理解

如果JS是地球,那window就是空气 。
window可以省略(不写,看不见,不显示,但是存在)
在这里插入图片描述
window是全局的,最大的最外层的大对象,谁都可以使用
如果不用var进行变量申明,则会默认对象b是window的
在这里插入图片描述

七一:window深入及检测浏览器的属性

1、window

全局的,最外层的大对象
所有的变量、属性、方法都可以挂在window上,方便在任何地方调用
在这里插入图片描述
如上图,一般情况下,一个函数无法获取另一个函数里面的值。但这里的c是被window定义的,运行a();,给window挂上一个c=10

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值