当前位置: 首页 > 面试题库 >

是否有一个Javascript变量代表本地范围?喜欢全球?

赖运珧
2023-03-14
问题内容

global是一个包含任何全局变量的对象(至少在Node.js中,它们window在浏览器中)。

是否有一个类似的变量代表当前范围?局部变量未显示在global(有充分的理由:))

asdf = "hello";
var local = "hello";

console.log(global); // includes asdf
console.log(???);    // includes local?

问题答案:

是否有一个对象代表本地范围?

是。有。

您可以直接访问该对象吗?

不,你不能。

为什么?JavaScript仅具有函数作用域-这是 执行上下文 。在 执行Context中 ,一个 Activation对象
(也称为call object)用于创建局部变量作为其属性。然而,

…这不是普通对象,因为它没有原型(至少不是已定义的原型),并且无法由javascript代码直接引用。

参考



 类似资料:
  • 问题内容: 我正在使用dgrid,并且尝试在外部设置dataStore。当页面加载时,我打电话来创建网格。在网格加载时,null为null。执行查询时,将设置。 没有错误,但是网格仍然是空的。正在使用数据更新aliasStore,但是即使刷新了网格也没有将其反映在网格上。查询后如何获取反映在网格中的数据? Javascript对象 设置数据存储数据 问题答案: 您正在将“ this.Store”设

  • 问题内容: javascript中变量的范围是什么?它们在函数内部和外部的作用域是否相同?还是有关系吗?另外,如果变量是全局定义的,则将变量存储在哪里? 问题答案: TLDR JavaScript具有词汇(也称为静态)作用域和闭包。这意味着您可以通过查看源代码来确定标识符的范围。 四个范围是: 全球-一切可见 功能-在功能(及其子功能和块)中可见 块-在块(及其子块)中可见 模块-在模块内可见 在

  • 本章介绍当模板在访问变量时发生了什么事情,还有变量是如何存储的。 当调用 Template.process 方法时,它会在方法内部创建一个 Environment 对象,在 process 返回之前一直使用。 该对象存储模板执行时的运行状态信息。除了这些,它还存储由模板中指令,如 assign, macro, local 或 global 创建的变量。 它不会尝试修改传递给 process 的数据

  • 我只想知道spring batch中是否有“job”范围,就像“step”范围一样?如果没有,我们应该开发我们的自定义范围,还是有更好的替代方案? 提前谢了。

  • 问题内容: 我想通过使用以下代码来获取全局变量中的数据: 但是问题是我只是在d3.json函数中定义了数据变量,但是没有定义。我该如何解决这个问题? 谢谢 问题答案: 由于d3请求(如)是异步的,因此最佳做法是将所有依赖于外部请求的代码包装在请求回调中,以确保该代码在执行之前可以访问数据。来自D3 docs :“异步加载数据时,依赖于已加载数据的代码通常应存在于回调函数中。” 因此,一种选择是将所

  • 问题内容: 给定以下代码: 因为函数变量中的代码在外部范围内,但不在全局范围内。是否可以在函数内修改变量?我当然可以从和阅读,但是如何修改? 问题答案: Python 3.x具有关键字。我认为这可以满足您的要求,但是我不确定您是在运行python 2还是3。 非本地语句使列出的标识符引用最近的封闭范围中的先前绑定的变量。这很重要,因为绑定的默认行为是首先搜索本地名称空间。该语句允许封装的代码在全局