JS作用域及作用域链的理解

发布时间:2024年01月06日

JS作用域及作用域链的理解

  • 作用域
    • 变量或者函数可以被访问到的范围
  • js执行环境(执行上下文 context)
    • 全局执行环境 – 所有的js代码最终执行的位置
    • 函数执行环境 – 每调用一次函数,从函数体代码开始进入函数执行环境到函数体代码结束退出函数执行环境
    • eval()执行环境
  • 变量的作用域
    • 声明变量所在的执行环境变量的,如果是全局执行环境中声明变量,这个变量叫做全局变量,可以在全局执行环境和所有函数执行环境中被访问到,如果是在某个函数执行环境中声明变量,这个变量就叫做局部变量,只能在当前的函数执行环境中被访问到。

    形参也是局部变量

  • 作用域链
    • 当程序进入一个函数执行环境还未退出就进入到下一个执行环境的时候,js会将这两个执行环境关联起来。当我们在内部的执行环境访问某一个变量的时候,js会根据当前执行环境的关联关系从当前的执行环境开始一直向上寻找,直到全局环境为止。这种变量作用域的存在方式叫做作用域链。

JS原型及原型链的理解?

  • 对象A可以使用来自对象B的属性和方法,对象B就称作对象A的原型
  • proto 原本只是浏览器实现的一个用来在控制台当中方便的查看对象原型的一个功能,在新版本适用中把他纳入了规范
  • 原型链 当我们访问某个对象属性的时候,会先在当前对象的身上找,如果找不到就到他的原型身上找,如果原型也没有,就找原型的原型直到找到object.prototype为止。

对于回调函数的理解?

把一个函数作为另一个函数的参数执行,在特定时间触发

文章来源:https://blog.csdn.net/weixin_46328739/article/details/135407999
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。