问题标签 [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.
java - 关于声明对象的困惑
我正在学习 CoreJava 书中的集合,我发现了这段代码:
现在我想知道为什么这段代码不是这样的:
为什么我们将 a 声明为List?
perl - 这个 Perl 代码中的 '@(' 是做什么的?
在此代码段中:
我发现 foreach 中 ' (
' 之后的 ' @
' 导致它不能正确循环。我不知道为什么这段代码甚至可以工作,因为没有结束括号。这是在做什么?它看起来正在动态创建一个新变量,但不应该' use strict
'已经被解雇或什么?
请帮助解释' @(
'在做什么以及为什么它仍然在没有结束括号的情况下运行。
c - goto 标签后的变量声明
今天我发现了一件有趣的事情。我不知道不能在 goto 标签之后声明变量。
编译以下代码
给出错误,如
现在这背后的逻辑是什么?我听说不能在 switch 的 case 语句中创建变量。由于 JUMP 在 goto 语句的同一范围内(在我的例子中是 main 函数的范围),我相信范围在这里不是问题。但是,为什么我会收到这个错误?
c++ - 绕过定义时如何使用变量?
在我看来,定义总是意味着存储分配。
在下面的代码中,int i
在程序堆栈上分配一个 4 字节(通常)的存储空间并将其绑定到i
,i = 3
并将 3 分配给该存储空间。但是因为goto
,定义被绕过,这意味着没有为 分配存储i
。
我听说局部变量是f()
在它们所在的函数(在这种情况下)的入口处分配的,或者在定义点处分配的。
但无论哪种方式,如何i
在尚未定义的情况下使用(根本没有存储空间)?执行时将值三分配到哪里i = 3
?
javascript - Javascript“单一变量模式”的缺点
在 Stefanov 的《JS 设计模式》一书中,他写道“你使用一个 var 语句并声明多个以逗号分隔的变量”,然后给出了“单个 var”模式的示例,如下所示:
Stefanov 还写道:
- “在声明变量时也使用初始值初始化变量是一个很好的做法。”
- “你也可以在声明的时候做一些实际的工作,比如前面代码中 sum = a + b 的情况。”
现在我有一些代码如下,用单个 var 模式声明相同数量的变量,但做了很多“声明时的实际工作”:
做太多“申报时的实际工作”有什么坏处?顺便说一句,我不认为这是Javascript 单一 var 模式的完全重复。我超载了吗?因为我问的是一般的缺点,而不是我的代码可能有什么问题。
我想我可以看到一个普遍的缺点是无法检查错误,例如在我的示例中,我在从 record.get 预期返回的字符串上调用 trim(),但如果返回 undefined,则“无法调用方法在未定义的对象上”(或任何它是;)将被抛出。有人能想到别的吗?
c++ - 我可以在 for 循环的初始化中声明不同类型的变量吗?
为什么这段 C++ 代码在 VS2010 下无法编译:
而这个:
是否禁止在 for 循环初始化程序中声明两个不同类型的变量?如果是这样,你怎么能解决它?
ruby - 我可以“刷新”变量的值吗?
我声明了需要完成的步骤,以便在我的 ruby 脚本开头的数组中安装 wordpress
稍后会更新一些变量。有没有办法在访问 arrya 时获取数组中所有变量的最新值?
假设我的代码就像我总是得到数组的初始值而不是我想要的(里面有更新的变量)
iphone - 声明一个UIIMage+AFNetWorking的变量
我正在使用 url 从 url 下载图像UIImage+AFNetworking
。如何声明类型的变量UIImage+AFNetworking
?应该是
+
我知道当我们在中间有一个标志时这是没有意义的。如果你知道怎么做,请给我建议。
c - 可以在 C 中声明后初始化数组吗?
有没有办法在实际初始化之前声明这样的变量?
我希望它声明这样的东西(除非这不起作用):
c++ - 在 if 的条件中声明变量有什么问题?
也许我越来越生疏了(最近一直在用 Python 写)。
为什么这不编译?
没有()
周围的int i=f()
我得到另一个更合理的错误i
不是布尔值。但这就是为什么我首先想要括号!
我的猜测是使用括号使其成为表达式,并且表达式中不允许声明语句。是这样吗?如果是,它是 C++ 的语法怪癖之一吗?
顺便说一句,我实际上是在尝试这样做: