问题标签 [global]

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

testing - 如何避免全局状态?

所以,我正在阅读谷歌测试博客,它说全局状态很糟糕,很难编写测试。我相信——我的代码现在很难测试。那么如何避免全局状态呢?

我使用全局状态(据我所知)最重要的事情是管理我们的开发、验收和生产环境之间的关键信息。例如,我有一个名为“Globals”的静态类和一个名为“DBConnectionString”的静态成员。当应用程序加载时,它会确定要加载的连接字符串,并填充 Globals.DBConnectionString。我在 Globals 类中加载文件路径、服务器名称和其他信息。

我的一些函数依赖于全局变量。因此,当我测试我的函数时,我必须记住首先设置某些全局变量,否则测试将失败。我想避免这种情况。

有没有管理状态信息的好方法?(或者我是否错误地理解了全局状态?)

0 投票
3 回答
34877 浏览

c# - 在 c# 中处理全局热键的最佳方法是什么?

可能重复:
如何使用 WPF 和 .NET 3.5 注册全局热键以说出 CTRL+SHIFT+(LETTER)?

我想在我的新应用程序中有多个全局热键(从 Windows 中的任何位置控制应用程序),并且我在网络上找到的所有给定源/解决方案似乎都提供了一种跛行解决方案(两种解决方案仅适用于一个 g.hotkey,或者在运行时会在屏幕上产生烦人的鼠标延迟的解决方案)。

这里有没有人知道可以帮助我实现这一目标的资源,我可以从中学习?任何事物?

谢谢 !:)

0 投票
7 回答
80568 浏览

php - php中的全局变量没有按预期工作

我在使用 php 中的全局变量时遇到问题。我$screen在一个文件中设置了一个 var,它需要另一个文件调用另一个文件中initSession()定义的 var。initSession()声明然后global $screen使用第一个脚本中设置的值进一步向下处理 $screen。

这怎么可能?

更令人困惑的是,如果您尝试再次设置 $screen 然后调用initSession(),它会再次使用第一次使用的值。以下代码将描述该过程。有人可以解释一下吗?

更新:
如果我$screen在需要第二个模型之前再次声明全局,则 $screen 会为该initSession()方法正确更新。奇怪的。

0 投票
12 回答
174453 浏览

python - 如何制作跨模块变量?

__debug__变量很方便,部分原因是它会影响每个模块。如果我想创建另一个以相同方式工作的变量,我该怎么做?

变量(让我们保持原始状态并称其为“foo”)不必是真正的全局变量,因为如果我在一个模块中更改 foo,它会在其他模块中更新。如果我可以在导入其他模块之前设置 foo 然后他们会看到相同的值,我会很好。

0 投票
12 回答
55721 浏览

python - 你在 Python 中使用“全局”语句吗?

我正在阅读一个关于 Python全局语句(“Python 范围”)的问题,我想起了当我还是 Python 初学者时我使用这个语句的频率(我经常使用全局),以及多年后的今天,我是如何做到的永远不要使用它。我什至认为它有点“非pythonic”。

你在 Python 中使用这个语句吗?您对它的使用是否随着时间而改变?

0 投票
3 回答
6405 浏览

java - 在 Java 中捕获全局按键

因此,每当用户在我的 Swing 应用程序中的任何位置按下空格键时,我都想触发一个事件(暂停/取消暂停某些媒体)。

由于有如此多的控件和面板可以具有焦点,因此实际上不可能将键事件都添加到它们中(更不用说粗略了)。

所以我发现

太棒了,您可以注册全局按键预处理程序。但是有一个主要问题 - 在输入字段,表格单元格等中一直输入空格,我显然不想触发暂停事件!

那么有什么想法吗?也许有办法全局检测光标是否集中在允许文本输入的东西上,而不必检查所有可编辑控件的列表(呕吐!)?

0 投票
4 回答
11597 浏览

c++ - 在 C++ 中全局定义结构

关于如何全局(使用 extern struct)声明一个可以在超过 1 个 c++ 文件中看到的结构,有一个有点详细的线程(228684),但我不知道该怎么做(有很多讨论关于做这个,做那个,也许做这个,试试这个,等等......)。

有人可以发布一个非常简单的示例,说明如何声明可以在 2 个单独的 c++ 文件中看到的结构吗?如果我将所有函数与主函数放在同一个文件中,它可以正常工作,但是当我尝试将函数拆分为不同的文件时,我无法编译它。

我不清楚的事情......我应该输入结构吗?我是否在头文件中定义结构并将该头包含在每个 C++ 源文件中?我需要头文件中的#ifndef 宏吗?我是否在标题中声明结构外部?

0 投票
6 回答
4490 浏览

c - 静态与全局在 C 中的速度和空间消耗

我想知道静态变量和全局变量在访问速度空间消耗方面的区别。(如果你想知道我的平台:Windows 上的 gcc 编译器。(我使用 Cygwin 和 Triton IDE 在 Windows 上进行 ARM7 嵌入式编程。Triton 在 Java 平台上带有 gcc 编译器,可以在 Windows 上运行。))

(显然我知道这个问题的文件和功能范围)

编辑:好的,给我一个关于任何微控制器/处理器环境的答案。

0 投票
7 回答
97879 浏览

c - 静态全局变量和静态易失变量有什么区别?

我在文件范围内使用了一个静态全局变量和一个静态 volatile 变量,

两者都由 ISR 和主循环更新,主循环检查变量的值。

在优化过程中,全局变量和 volatile 变量都没有被优化。因此,不是使用 volatile 变量,而是使用全局变量来解决问题。

那么使用全局变量而不是 volatile 好不好?

使用静态易失性的任何具体原因?

任何示例程序都将是可观的。

提前致谢..

0 投票
3 回答
3436 浏览

javascript - JavaScript - check if in global context

When a function is attached to an object and called:

this refers to the object that the function was called as a method of. It's equivalent to doing f.call(o).

When the function is called not as part of an object, this refers to the global object. How do I check if a function is being called from a non-object context? Is there any standard keyword to access the global object? Is the only way to do it something like this?

Note: I have no particular use case in mind here - I actually am asking about this exact mechanism.