问题标签 [order-of-execution]

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

java - Java中的执行顺序

我试图从 Thinking in Java 中理解这个例子

正如我从 Java 语言规范中了解到的那样,执行顺序从加载包含 main 方法的类开始。然后必须初始化这个类的所有静态变量和成员变量(在此之前必须初始化超类的所有成员变量,尽管在这种情况下没有这些成员变量)。

所以我认为b,c会在开始执行l之前被初始化。main不过,从输出来看,情况似乎并非如此。我错过了什么吗?

0 投票
4 回答
158 浏览

javascript - ++ 运算符如果放在操作数之后返回原始值 - 如何?

据我所知,x++本质上是一种更简洁的说法x = x + 1。到目前为止,很清楚。在前端 Javascript 中,我偶尔会看到++x——我似乎记得从jsPerf测试中我再也找不到(谷歌如何++有效地?)这在某种特定版本的 IE 中以某种方式具有小的性能优势,并让它就这样。

但是,我最近遇到了一些关于执行顺序(JS 代码)的奇怪怪癖:

…然而

我无法理解这一点。当操作和赋值在括号内时,我们如何返回未修改的变量,因此所有权利都应该在console.log调用之前执行,更不用说执行和返回了?

0 投票
2 回答
60 浏览

python - 如何阻止 Python 在执行时检查文件

我已经编写了一个脚本,它通过调用另一个 python 模块来生成许多包含 json 数据的文件。然后,我希望能够在它们生成后导入它们并使用它们包含的数据进行处理。

问题是,当我尝试运行此脚本时,它抱怨文件不存在。我猜是因为 Python 在执行代码之前会检查所有要打开的文件,而不管打开的语句在代码中的什么位置。有没有办法解决这个问题,所以在生成器调用模块创建文件之前它不会尝试打开文件?下面的示例代码:

0 投票
2 回答
161 浏览

ruby-on-rails - 在 Rails Create Action 中控制执行顺序

Ruby 和一般编程的新手。到目前为止,我在找到任何问题的答案时都没有遇到任何问题,但找不到这个问题。

在我的应用程序中,Teams 控制器新建和创建操作正在跨多个关联模型创建多个新记录。其中一条记录未能创建,因为似乎较低的记录@pool_user之前正在执行@department,因此@department.id为 nil 并且 email 不能为空。

为了测试,我删除了该@pool_user行并将特定值插入:userid =>under@competence并按预期顺序执行,按预期创建所有记录。

我正在为用户模型使用设计,我怀疑它可能会首先影响它的初始化,但我似乎无法找到一种方法让它们以正确的顺序执行。

团队控制器.rb

随时纠正您在此处看到的任何其他不良做法或一般菜鸟动作。我只是想弄清楚为什么它没有按正确的顺序构建。谢谢。

0 投票
4 回答
130 浏览

javascript - Javascript函数顺序

太好了,我遇到了 JS 问题。我对 Web 开发相当陌生,所以我不完全确定我的 JS 做错了什么。

所以基本上我为我的第一个标题编写了在页面加载时“聚焦”的函数。然后我决定添加第二个具有相同功能的标题。现在,当我加载我的页面时,只加载第二个标题,而不是两者。

为什么是这样??

0 投票
1 回答
4828 浏览

c++ - C++ 中全局对象销毁和 atexit 之间的顺序

atexit我想知道在销毁全局对象和在 C++中可以确定顺序

我有一个全局对象和注册atexit函数,如下所示:

我发现onExit()之前MyClass::~MyClass()在 Visual Studio 2012 和 gcc4.7.2 中调用过。我确定onExit总是在全局对象(如g_class)销毁之前调用它吗?

我想知道全局对象注册顺序和atexit注册顺序使用相同的顺序表。还是全局对象顺序和顺序之间没有关系atexit

编辑:对不起,我写错了。我在整理示例代码时很困惑。onExit()在 ~MyClass() 之前调用。

0 投票
3 回答
2540 浏览

delay - 关于计算 Verilog 和 Timing 延迟的细节

我目前正在自学 Verilog,并浏览了一些我发现的教程,有两件事让我感到困惑,即如何具体计算在将输入更改为组合电路后需要延迟多少时间,以及项目的顺序是什么在您的代码中执行。我通常了解实际电路具有上升/下降延迟时间,并且您希望延迟输出,以便您的输入在计算输出之前生成一个值,但我想知道具体情况。

所以,这里有一个例子:

我的一些问题嵌入在代码的注释中。然而,我的另一个困惑是时间问题。在主模块的开头,我使用我在上面 main 中定义的参数实例化了一个名为 dff 的 dflipflop 模块。我的代码在哪里说:当我更改 main 中的输入时重建模块/重新计算 Q?我没有看到链接。

0 投票
2 回答
3632 浏览

javascript - AngularJS 指令 - 设置多个指令元素的顺序(不是指令的优先级,而是元素的优先级)

考虑这个带有指令“foo”的标记:

什么是使“foo”按指定顺序而不是从上到下(3、1、2)运行的好方法?我唯一能想到的就是跟踪已经运行的内容并在不正常的项目上返回 false,然后让 angular 尝试再次运行它们并重复直到它们全部完成。但这对我来说听起来很糟糕,因为它必须重复很多次...... Angular 有内置的东西可以使用吗?有没有理想的方法来处理这个问题?

0 投票
4 回答
114 浏览

c - 强制内存排序

如果存在指针“A”和“B”,则要求在对“B”的任何写入可见之前,应使对“A”的任何写入可见。如果不允许我使用锁并且不允许我将这些变量声明为“volatile”,那么以下代码是否可以保证满足上述要求?

0 投票
3 回答
1434 浏览

java - 将参数传递给方法总是在java中从左到右排序吗?

我将调用一个带有两个参数的方法,但我会像这样使用 k++:

实际上我想确保jvm首先执行第一个参数,然后是第二个。如果不知何故顺序会改变,参数将被传递错误的顺序。

非常感谢!