问题标签 [variables]

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

c# - 实例化工作变量的最有效方法是什么

我应该在 for 循环内部还是外部实例化我的工作变量

例如

一种)

b)

编辑:似乎普遍认为在 IL 方面没有区别。但是为了可读性和范围的清晰......内部更好

0 投票
8 回答
6164 浏览

c++ - 我应该使用静态数据成员吗?(C++)

让我们考虑一个 C++ 类。在执行开始时,我想从 XML 文件中读取一组值并将它们分配给此类的 7 个数据成员。这些值在整个执行过程中不会改变,它们必须由相关类的所有对象/实例共享。静态数据成员是实现此行为的最优雅方式吗?(当然,我不考虑全局变量)

0 投票
4 回答
9244 浏览

actionscript - 删除 ActionScript 2 变量中的空格

假设我有一个包含以下内容的 XML 文件:

我想在 ActionScript 2 中获取并解析为 HTML 文本,并在显示之前设置一些 CSS。问题是,Flash 采用这些空格(换行符和制表符)并按原样显示。

我想要的输出在哪里

我知道我可以直接从 XML 文件中删除空格(我工作场所的 Flash 开发人员也建议这样做。我猜他不知道如何做到这一点[叹气])。但是这样做,很难阅读 XML 文件中的部分,尤其是当涉及到大量标签时,这会使编辑更加困难。

所以现在,我正在寻找一种在 ActionScript 中去除这些空格的方法。我试过使用 PHP 的str_replace等价物(从这里得到)。但是我应该用什么作为针(要搜索的字符串)?(我试图输入"\t"and "\r",似乎无法检测到那些空格)。

编辑 :

现在我已经尝试newline像针一样投入,它可以工作(意味着换行成功被剥离)。

但是,换行符只被剥离一次,这意味着在每个连续的换行符中(例如,一个换行符后跟另一个换行符)只能剥离一个换行符。

现在,我不认为这是str_replace函数中的问题,因为除了换行符之外的每个连续字符都被剥离得很好。

对 ActionScript 中如何处理此类事情感到非常困惑。:-s

编辑2:

我已经尝试了 str_replace -ing 我所知道的所有内容,\n、\r、\t、换行符和制表符(通过按制表键)。替换 \n、\r 和 \t 似乎没有任何效果。

我知道通过成功地做到这一点,我的内容永远不会有真正的换行符。这正是我的意图。我可以按照我想要的方式格式化 XML,而无需 Flash 显示任何格式化内容。:)

0 投票
12 回答
74436 浏览

c - 为什么星号在变量名之前,而不是在类型之后?

为什么大多数 C 程序员都这样命名变量:

而不是这样:

两者都是有效的。在我看来,星号是类型的一部分,而不是变量名的一部分。谁能解释一下这个逻辑?

0 投票
26 回答
143165 浏览

java - 在循环之前或循环中声明变量之间的区别?

我一直想知道,一般来说,在循环之前声明一个丢弃变量,而不是在循环内重复声明,是否会产生任何(性能)​​差异?Java中的一个(非常没有意义的)示例:

a)循环前声明:

b)在循环内(重复)声明:

哪个更好,a还是b

我怀疑重复的变量声明(示例b )在理论上会产生更多的开销,但是编译器足够聪明,所以没关系。示例b的优点是更紧凑,并将变量的范围限制在使用它的位置。尽管如此,我还是倾向于根据示例a编写代码。

编辑:我对 Java 案例特别感兴趣。

0 投票
4 回答
558 浏览

php - 这些 PHP 条件是相同的还是有一个优势

编写这样的 PHP 条件有什么好处:

相对

相对

他们不都是一样的吗?如果您只是想判断变量是否存在,似乎最后一个总是最简单的。感谢您帮助我了解这里的区别。我错过了 PHP 101 的第一天。

0 投票
4 回答
24081 浏览

php - PHP会话变量没有传递到我的登录页面,但会话ID是

我正在使用PHP 4.3.9、Apache/2.0.52

我正在尝试使登录系统正常工作,该系统在会话中注册数据库值,一旦登录就可以使用它们。一旦我被重定向,我就会丢失会话变量

我正在使用以下代码在我的登录表单页面和重定向页面上打印会话 ID/值:

这是从我的登录页面在我的浏览器中打印的内容(我只是将标题重定向到登录页面注释掉)。这也是来自我的数据库的正确信息,所以此时一切都很好

这是打印在我的重定向/登录页面上的内容(当我取消注释标题/重定向时)。会话 ID 相同,但我没有得到各个会话变量的值。

我收到以下错误:

未定义索引:first_name
未定义索引:user_id
未定义索引:user_level

我有一个全局header.php文件,我的 loggedIN.php 不会调用它,但loggedOUT.php 会调用该文件 - 为会话敬酒):

头文件.php

我的loggedIN.php除了启动会话之外什么都不做

我的登录脚本的逻辑,关键部分是我将数据库结果直接提取到 $_SESSION 中(大约一半):

如果我在登录页面上注释掉标头重定向,我可以使用数据库中的正确信息回显 $_SESSION 变量。但是,一旦重定向到登录页面,它们就会消失/取消设置。

有人有想法么?我几乎一整天都在这上面,不能说我更接近于弄清楚它。

顺便说一句,我最近制作了 2 个简单的测试页面,一个启动了一个会话,在其上设置了一些变量,提交了一个表单,该表单重定向到了第二个页面,该页面除了读取/输出会话变量之外什么也没做。一切似乎都很好,我只是在我的主应用程序中遇到了一些问题。

0 投票
17 回答
73602 浏览

java - 为什么Java中没有初始化局部变量?

Java 的设计者有什么理由认为不应该为局部变量赋予默认值?说真的,如果实例变量可以被赋予一个默认值,那么为什么我们不能对局部变量做同样的事情呢?

它还会导致问题,正如这篇对博客文章的评论中所解释的那样:

好吧,当试图在 finally 块中关闭资源时,这条规则最令人沮丧。如果我在 try 中实例化资源,但尝试在 finally 中关闭它,我会收到此错误。如果我将实例化移到 try 之外,我会收到另一个错误,指出它必须在 try 内。

非常令人沮丧。

0 投票
7 回答
88926 浏览

java - Java中long,double,byte,char的目的是什么?

所以我正在学习java,我有一个问题。似乎 types int,booleanstring几乎适用于我在变量方面需要的所有东西,除了float在数字中需要十进制数字时可能会使用。

我的问题是,在日常编程中是否曾经使用过其他类型,例如long, double,等?这些可以用于哪些实际的事情?他们存在是为了什么?bytechar

0 投票
17 回答
148237 浏览

php - 在 PHP 中测试变量是否存在的最佳方法;isset() 明显坏了

isset()文档

基本上,isset()根本不检查变量是否已设置,但是否设置为NULL.

鉴于此,实际检查变量是否存在的最佳方法是什么?我试过类似的东西:

@有必要避免$v未设置时的警告)但is_null()有类似的问题isset():它返回未设置的TRUE变量!还可以看出:

工作原理完全一样@is_null($v),所以也出来了。

我们应该如何可靠地检查 PHP 中变量的存在?


编辑:PHP中未设置的变量和设置为的变量之间显然存在差异NULL

PHP表明$a['b']存在,并且具有NULL价值。如果添加:

你可以看到我正在谈论的isset()功能的歧义。这是所有这三个的输出var_dump()s


进一步编辑:两件事。

一,用例。将数组转换为 SQLUPDATE语句的数据,其中数组的键是表的列,数组的值是要应用于每一列的值。表的任何列都可以保存一个值,通过在数组中NULL传递一个值来表示。NULL需要一种方法来区分不存在的数组键和数组的值设置为NULL; 这就是不更新列的值和将列的值更新为NULL.

其次,对于我的上述用例和任何全局变量, Zoredache 的答案都可以正常工作:array_key_exists()

输出:

由于这可以正确处理几乎所有我可以看到不存在的变量和设置为的变量之间存在任何歧义,因此NULL调用array_key_exists()PHP 中最简单的官方方法来真正检查变量的存在

(我能想到的唯一其他情况是类属性,property_exists()根据它的文档,它的工作原理与它类似array_key_exists(),因为它正确区分了未设置和设置为NULL。)