问题标签 [scope]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
12107 浏览

c - 如何访问 C 中的阴影全局变量?

如何访问 C 中的阴影全局变量?在 C++ 中,我可以使用::全局命名空间。

0 投票
4 回答
356 浏览

actionscript-3 - 关于“this”范围的最佳实践/编码标准是什么是 AS3?

关于“this”范围的最佳实践/编码标准是什么是 AS3?有吗?我觉得它确实有助于标准化和我的可读性,但有时它看起来“太多了”。

例如,在下面使用“this”真的有必要吗(我知道没有“this”也可以)?:

0 投票
2 回答
4654 浏览

java - Java 对象引用/范围问题

如果我有这样的成员变量(在类的主体中声明)

我遍历这个数组的所有成员,并且:

1) 将每个 Dot 对象传递给另一个类的函数,该函数:

2) 如果满足某些条件,则将其传递给第三类的另一个函数

3) 第三类改变了 Dot 对象的一些属性

那么当这个对象返回到原始/父类时,对其属性的这些更改是否会保留?或者它会被第二个/第三个函数视为局部变量吗?

0 投票
3 回答
4213 浏览

c# - 参数化为方法时的变量与对象的 C# 范围

我广泛使用了继承、多态和封装,但我刚刚意识到我不知道关于对象范围与变量的以下行为。最好用代码显示差异:

所以我认为当一个变量被传递到一个方法中时,更改仅限于该方法的范围。但是,如果一个对象被传递到一个方法中,那么它的属性就会超出该方法的范围。

如果规则是对象而不是变量存在这种行为,但在.net 中,一切都是对象,字符串(例如示例中的字符串是 System.String),我可以接受这一点那么规则是什么,我如何预测我传递给方法的参数的范围?

0 投票
7 回答
2880 浏览

javascript - JavaScript 作用域和闭包

我正试图绕过关闭(那里有一个笑话),我遇到了这个:

这是如何运作的?将函数放在括号中的目的是什么?为什么之后是空的括号?

0 投票
5 回答
1574 浏览

delphi - 在 Delphi 中超出范围的对象会发生什么?

当在函数中创建的对象并且函数完成时,如果对象没有被显式销毁,会发生什么?

所有变量在超出范围时都需要销毁,还是在超出范围时得到处理?

例如,调用 custom_function 后 locallist 会发生什么?

0 投票
4 回答
521 浏览

javascript - 就在我想我终于理解了 Javascript 作用域的时候

我遇到了一些事情,说明我显然还不明白。

谁能解释一下为什么“this”的值会在下面发生变化?

0 投票
1 回答
70 浏览

ruby - 为什么在我的示例中可以公开访问:“MySymbol::TABLE”

在上面的示例中,我在博客上找到,我知道 TABLE 是一个哈希并且是 MySymbol 类的成员。我不明白的是如何从 String 类内部公开访问它。我认为类实例变量默认是私有的,您需要使用 get/set 方法从类外部访问它们吗?

0 投票
5 回答
2316 浏览

javascript - 函数参数

在函数内部,变量f是局部的Foo(它具有函数范围),但是为什么f参数列表中的变量没有冲突?也许是因为它绑定在Foo.arguments对象内部?

在其他语言中,我们不能声明与局部变量同名的参数变量。

如何解决此名称歧义?或者,您如何f在该方法的后面引用这两个不同的变量中的每一个?

0 投票
2 回答
70887 浏览

java - 在Java中,类中的枚举类型是静态的吗?

我似乎无法从枚举内部访问周围类的实例成员,就像我可以从内部类内部一样。这是否意味着枚举是静态的?是否可以访问周围类的实例的范围,或者我是否必须将实例传递给我需要的枚举方法?