为了账号安全,请及时绑定邮箱和手机立即绑定

请问javascript中作用域和执行环境是不是一个概念?

请问javascript中作用域和执行环境是不是一个概念?

湖上湖 2019-04-15 10:08:34
请问javascript中作用域和执行环境是不是一个概念?
查看完整描述

3 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

  javascript中作用域和执行环境不是一个概念

  1. 执行环境:执行环境是JS中最重要的一个概念;它定义了变量和函数有权访问的其他数据;

  2. 全局执行环境:最外围的一个执行环境,根据ECMAScript实现所在的宿主环境不同而不同,在Web浏览器中,全局执行环境被认为是window对象;

  3. 作用域链:当代码在环境中执行时,会创建变量对象的一个作用链;作用域链的作用是保证对执行环境有权访问的所有变量和函数的有序访问;


查看完整回答
反对 回复 2019-04-16
?
慕的地10843

TA贡献1785条经验 获得超8个赞

作用域:它是指对某一变量和方法具有访问权限的代码空间, 在JS中, 作用域是在函数中维护的。表示变量或函数起作用的区域,指代了它们在什么样的上下文中执行,亦即上下文执行环境。

查看完整回答
反对 回复 2019-04-16
?
郎朗坤

TA贡献1921条经验 获得超9个赞

1、在JS中“作用域”只是一个概念,因为并没有一个对象叫作用域,而执行环境却实实在在有一个对象,叫执行环境对象。执行环境对象中包含了三个属性,作用域链,属性对象,this。
2、由上述可知,JS中并不包括“作用域”对象。也就是说,“作用域”这三个字只是一个概念,如果偏要说这个概念与第1条中的哪个东西能对上号,我想能受到普遍认可的想法,应该是执行环境对象中的第二个属性:属性对象,因为该对象会包含了当前执行环境的标识符。
3、再深入一点,多个执行环境的属性对象按执行栈的顺序连接起来,就是作用域链。反过来说,作用域链是由多个执行环境的属性对象连接而成。


 


查看完整回答
反对 回复 2019-04-16
  • 3 回答
  • 0 关注
  • 431 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信