gpt4 book ai didi

javascript - 为什么 JavaScript 中优先级较低的运算符会先执行?

转载 作者:行者123 更新时间:2023-11-28 17:12:19 25 4
gpt4 key购买 nike

我正在运行一行代码,其中包含函数调用和console.log。根据优先级表,函数调用()运算符的优先级为19,而分组运算符的优先级最高(20)。那么,它不是应该首先在分组内执行任何操作吗?

function fn() {
console.log("foo");
}

fn() + (console.log("bar"))

这将在第一行打印 foo,然后打印 bar

同时根据this我应该看到:

foo

我在这里缺少什么?

最佳答案

JS 引擎从左到右计算“+”运算符。

构建语法树,fn() 是左侧节点,另一个语句是右侧节点。解释器计算左节点并将其放入堆栈,然后计算右节点并将结果放入堆栈,然后对堆栈中最上面的两个元素执行 + 操作。

关于javascript - 为什么 JavaScript 中优先级较低的运算符会先执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54123977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com