作用域 闭包 this关键字



作用域

作用域  在js中能够产生作用域的只有 window全局作用域和每一个function私有作用域
就是一个js代码执行的环境,window下的js变量 函数名等在任何地方都可以公用,但是function私有作用域,里面的这些东西只能在自己的家里(地盘里)使用,外面不能轻易的修改和拿到
只有函数执行的时候才会形成作用域

function的生命周期

 function起源于window下的预解释,在这个阶段完成了声明和定义
一般情况下,当function执行的时候,首先对里面私有作用域重新的预解释,然后代码从上到下执行
一般情况下,当代码执行完成后,形成的私有作用域销毁(记住是形成的那个作用域销毁了,而开始开辟的那个新的内存地址是存在的)
但是也有特殊的情况,及一个函数中包含了另外的一个小的函数,这样这个函数就被新的小函数一直占用着,无法自动进行销毁,也就是作用域释放不掉了

在私有作用域中出现的变量,我们首先看一下在这个作用域下有没有预解释,如果有,那么变量就是自己私有的,如果没有,往他的上一级去找,直到找到window,如果window下也没有预解释,报错!!
  
function传递的参数,虽然不是被预解释,但是也是私有作用域里面的变量,此时私有作用域下的变量就是这个参数,所有形参都相当于私有作用域下var过


闭包

闭包就是函数运行的时候形成的那个私有作用域,所谓闭包就是讲执行环境封闭起来,保护里面的


this
第一人称我
只有function中有this

this是谁,和在哪定义和执行的function没半毛钱关系,只跟这个函数执行的时候是谁调用的有关,换句话说this就是函数执行的主体
方法名(); 我们只需要关注方法名之前有没有.,没有就是window,有的话是谁,那么this就是谁
给一个元素绑定事件,那么this就是这个元素
  
call apply 改变this指向
  

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值