问题标签 [variable-declaration]

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 投票
7 回答
7996 浏览

java - Java switch:变量声明和范围

Java 编译器如何处理下面的 switch 块?'b' 变量的范围是什么?

请注意,“b”变量仅在 switch 语句的第一个分支中声明。尝试在第二个分支中声明它也会导致“重复的局部变量”编译错误。

注意:上面的代码使用 java 1.6 编译器编译。

0 投票
6 回答
324157 浏览

python - Python 变量声明

学习Python,有一些基本的疑惑。

1.我已经看到变量声明(此处的路径)为

有时,没有显式声明,而是通过__init__.

我了解 的目的__init__,但是否建议在任何其他函数中声明变量。

2.如何创建变量来保存自定义类型?

0 投票
2 回答
151 浏览

php - 我可以在 PHP 中声明一个像 $(variable name) 这样的变量名吗?

我想获取 mysql 函数 mysql_field_name() 的结果字符串(字段名称)并将其声明为变量,以便稍后在我的程序中使用它。
例如,像这样:

在这里,我可以像这样使用这个语句:$(mysql_field_name($result,2));
它是一个正确的变量声明吗?
它会起作用吗,它会声明一个以字段名作为变量名的变量吗?

0 投票
6 回答
2650 浏览

c++ - C++:在 if/else 中声明:var 未在此范围内声明

我不了解 C++ 中的某些内容,gcc 不喜欢我该如何进行。
我做了:

我得到这个错误:

我不能main在我的标题中声明,因为他的类型取决于fModeMdi布尔值。
请问我该如何解决?

0 投票
4 回答
2564 浏览

c++ - 双倍为真/假

Bjarne 建议使用 if 中的条件作为范围限制。特别是这个例子。

我很好奇如何以真/假的方式解释声明。

  1. 这是一个宣言
  2. 是双倍的。

编辑:它在 6.3.2.1 C++ 编程语言中作为推荐。

Edit2:templatetypedefs 对指针的建议,特别是动态转换,可能会给 Bjarnes 建议提供洞察力。

SteveJessop 告诉我: - 条件不是表达式,它也可以是声明,使用的值是正在评估的值。

0 投票
2 回答
27026 浏览

c++ - C++11 - 将非静态数据成员声明为“自动”

如果在声明中初始化非静态数据成员,C++11 是否允许将它们声明为“自动”?例如:

GCC 4.7 拒绝上述代码,而接受int x = 5;.

假设这不是编译器错误,而是标准确实不允许,为什么不呢?它与声明局部变量一样有用auto

0 投票
4 回答
1804 浏览

c - 循环体中声明的变量是否在迭代期间保留?

考虑 C 中的一个循环,它在循环体中声明了一个字符数组。在每次迭代中,数组的一个字符都会被修改,直到到达末尾。最后,打印变量。描述将扩展到下一个代码:

许多人可能期望0123作为输出。-O1但是由于某种原因,GCC 4.7 在启用优化(和更高版本)的情况下不会这样做。而是将随机数据放在字符数组的第一个字节中,变为:

我认为从语言的角度来看这是合乎逻辑的行为:块终止后自动变量消失了,因此应该预料到上述“随机”行为。

正确的行为应该是什么?我知道将声明移到x循环之外“修复”它,但这并没有说明这个片段的行为。现实世界的问题是Netfilter 中的一个错误

0 投票
1 回答
180 浏览

javascript - 在函数声明而不是运行时解析所有变量

我想附加一个来自字符串的事件。我遇到的问题是函数名称不是作为字符串传入,而是在调用函数时编译,这会导致未定义的变量错误(temp)。

如果我不使用 temp[x][0] (这将是 'someFunc'),而是直接为 .apply 方法(在本例中为 .apply('someFunc'...) )传入一个字符串,我没有问题并且该函数将按预期使用 onClick 调用。否则,当我单击元素 el 时,我会收到一个错误,即 temp 未定义。

0 投票
1 回答
147 浏览

javascript - Javascript:附加字符串中的事件,闭包中的变量评估

我很肯定我以错误的方式问了这个问题。我正在尝试将字符串传递onClick="someFunc(arg1,arg2...)"给 javascript 解析器。

解析器应该为带有 args (arg1, arg2 etc) 的 someFunc 创建一个 onClick 事件。

我的问题是,当文本通过解析器传递时,保存 someFunc 字符串名称的变量的范围正在被传递,以便附加事件都注册为最后声明的字符串。

在下面的代码中,attributes._onClick 可以是字符串 'onClick="someFunc(arg1,arg2);" 对于一个元素,后跟 'onClick="otherFunc(argA,argB);" 对于另一个元素,因为解析器在字符串中移动。

浏览器 (Firefox V14.01) 中的输出具有始终注册为 otherFunc 的事件函数。所以闭包中的 f_name 不是作为变量进行评估,而是只是注册为在整个块解析过程中声明的 f_name 的最后一个值。

我不熟悉范围到我需要弄清楚这一点的程度。有谁知道我可以以这种方式附加事件的方法(我试图避免超出解析器来添加事件)?

0 投票
5 回答
7075 浏览

c++ - 未调用 C++ 构造函数

我是 C++ 新手,这是我第一次使用它的类,我想知道如何调用构造函数?我已经阅读了一些关于 C++ 类的文档,这就是我想出我所拥有的东西的方式。构造函数调用私有方法来设置服务器。