JS作用域

作用域:一个变量的可见区域

全局作用域

生命周期:在网页生成时创建,关闭时销毁。
所有的直接写在script标签中的代码都是全局作用域 可以在任意位置访问

局部作用域

块作用域
    生命周期: 在代码块执行时创建,在代码块结束时销毁
    在块作用域中声明的变量是局部变量,只能在块内部访问,外部无法访问
函数作用域
    生命周期:在函数调用时产生,结束时销毁
    函数调用会产生一个全新的函数作用域,只能在内部访问,外部无法访问
作用域链
当使用一个变量时,js引擎会在当前作用域中寻找
如果找到,就使用
如果没找到,去上一个作用域找,
找到了,就使用
没找到,继续上一层找
直到全局作用域,如果也没有找到,则报错
window对象
通过window对象 可以对浏览器窗口进行各种操作
window对象负责存储js中的内置对象及浏览器的宿主对象
window对象的属性可以通过window对象访问,也可以直接访问

var 和 let

  • var声明的变量,会作为window对象的属性来保存,是一个全局变量
  • 使用function声明的函数,也会作为window对象的方法保存
  • 使用let声明变量 不会存到window对象中,存在秘密的地方,增加了变量的安全性

this

  • 函数执行时,js会传递一个隐形的参数this
  • 普通声明函数,谁调用 this就指向谁

** 箭头函数this **

  • 没有自己的this 由外层作用域来决定
  • 在哪里定义,就指向谁 ,跟谁调用无关
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值