标签: order-of-execution

Javascript函数顺序

Sooooo,我有一个JS问题.我对Web开发还很陌生,所以我不完全确定我的JS出错了.

//create script for #mainHeading focus @ pageload -- heading 1
    window.onload = function() {
        var mainHeading = document.getElementById("mainHeading");
        mainHeading.style.textShadow = '0px 0px 0px #fff'
    }

//create script for #subHeading focus @ pageload -- heading 2
    window.onload = function() {
        var subHeading = document.getElementById("subHeading");
        subHeading.style.textShadow = '0px 0px 0px #fff'
    }
Run Code Online (Sandbox Code Playgroud)

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

为什么是这样??

javascript order-of-execution

2
推荐指数
1
解决办法
128
查看次数

函数参数的求值顺序是什么?

我正在使用这个版本的 Go:

$ go version
go version go1.18 windows/amd64
Run Code Online (Sandbox Code Playgroud)

A当 struct只有一个字段时,结果会有所不同B,并且只有当参数类型为interface时才会发生。

我不确定这是否是一个错误:

package main

import (
    "fmt"
)

func main() {
    a := A{}
    m("A", a, SetAI(&a))
    b := B{}
    m("B", b, SetBI(&b))
}

type A struct {
    I int
    S string
}

type B struct {
    I int
}

func SetAI(a *A) A {
    a.I = 10
    return *a
}

func SetBI(b *B) B {
    b.I = 10
    return *b
}

func m(name string, arg1, arg2 …
Run Code Online (Sandbox Code Playgroud)

evaluation arguments go order-of-execution

2
推荐指数
1
解决办法
791
查看次数

自上而下的递归方案

我们是否可以定义构造自上而下而不是自下而上的值的递归方案(而不失去其一般性)?

这将非常有帮助,因为我已经看到很多次使用递归方案在内部定义的功能首先应用于reverse其输入的情况,这清楚地表明需要执行类似foldl的“从前到后”执行。

recursion haskell order-of-execution recursion-schemes

1
推荐指数
1
解决办法
102
查看次数

Spring Batch:单个作业的多个 JobExecutionListener 实例的执行顺序

给定一个为其配置了实例列表的Spring Batch作业,JobExecutionListener每个侦听器的执行顺序是什么。例子 :

<job id="myJob" xmlns="http://www.springframework.org/schema/batch">

        <batch:listeners>
            <batch:listener ref="myJobExecutionListener1" />
            <batch:listener ref="myJobExecutionListener2" />
            <batch:listener ref="myJobExecutionListener3" />
            <batch:listener ref="myJobExecutionListener4" />                
        </batch:listeners>

       <!-- job config continues -->
</job>
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,有没有保证监听器会按照配置的顺序执行,还是会按照随机的顺序执行。我尝试查看Spring Batch参考文档,但就我的研究而言,我找不到这个文档。

java listener spring-batch order-of-execution

1
推荐指数
1
解决办法
808
查看次数

带增量的 2 补码是否违反了 c++17 中的执行顺序规则,但不违反 c++14 中的执行规则?

这可能是“ 101”级别的问题,但有一些相关的痛苦,所以我会要求评论以保持自信。

我有一些遗留代码支持返回到及之前的这一行:

iTmp = ~iTmp++;
Run Code Online (Sandbox Code Playgroud)

在代码更改为之前,此方法 100% 有效。更改为后,它会计算出不同的值,但并非总是如此。这取决于该行在代码中的位置,是先执行 2 的补码还是先执行增量。

另外,如果您尝试强制使用括号,则会出现编译器错误:

iTmp = (~iTmp)++;

error C2105: '++' needs l-value
Run Code Online (Sandbox Code Playgroud)

这对我来说很有意义,因为 2 的补码结果不是中间变量,因此 ++ 没有任何可操作的内容。

我的研究告诉我

  1. 这是“”失败。
  2. 并不是这种情况下失败的主要原因。
  3. 二进制补码不是就地操作,因此它不会更改 iTmp,而是返回一个值。
  4. 遗留代码的工作靠运气 - 可能是由于编译器错误或错误总是强制执行运算符评估顺序。

我的评价正确吗?

对我来说,一个非常微妙的区别是前面的代码无效,但这一行可以:

if ( ++iTmp > 0)
Run Code Online (Sandbox Code Playgroud)

我没想到升级到会导致这个微妙的错误,但我不得不将代码更改为以下内容来解决问题:

iTmp = ~iTmp;
iTmp++;
Run Code Online (Sandbox Code Playgroud)

c++ order-of-execution c++14 c++17

1
推荐指数
1
解决办法
180
查看次数

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

据我所知,x++基本上是一种说法x = x + 1.到目前为止,这么清楚.在前端Javascript中,我偶尔会看到++x- 我似乎记得从jsPerf测试中我再也找不到了(一个Google如何++有效?)这在某个特定版本的IE中以某种方式获得了小的性能优势,并让它去那.

但是我最近遇到了一些在执行顺序(JS代码)中出现奇怪怪癖的东西:

var x = 1;
console.log(x++); // 1 (?!)
console.log(x);   // 2
Run Code Online (Sandbox Code Playgroud)

...而

var x = 1;
console.log(++x); // 2 (what I would've expected)
console.log(x);   // 2
Run Code Online (Sandbox Code Playgroud)

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

javascript operators execution variable-assignment order-of-execution

0
推荐指数
1
解决办法
134
查看次数

javascript中函数执行的优先级

我不明白为什么第二个函数调用(在函数体之后)优先于一个体内的函数体?

function a(){
  var num = 5;
  console.log( ++num );
  setTimeout( a, 100 );
};
setTimeout(a,2000)
Run Code Online (Sandbox Code Playgroud)

javascript function settimeout order-of-execution

-2
推荐指数
1
解决办法
5208
查看次数