gpt4 book ai didi

javascript - 关于运算符优先级的困惑

转载 作者:行者123 更新时间:2023-12-03 06:08:36 25 4
gpt4 key购买 nike

我正在浏览 Kyle's You Dont Know Js 中的“语法”章节.

根据 this link at MDN , ...++ 后缀增量 的优先级高于 = 甚至 ++... 前缀增量。然而,在 javascript 中,下面的代码似乎证明了事实并非如此。

var a = 1;
var b = a++; // b = 1; a = 2;
var c = ++a; // c = 3; a = 3;

我错了什么?上面的代码是不是表明= & ...++ Postfix增量=有更高的优先级> & ++...?

最佳答案

求值顺序为(从高优先级到低优先级):后缀运算符a++、前缀运算符++a、加法运算符+ (从左到右)和赋值运算符 =,来自 MDN .

看看以下内容:

var a = 1;
var b = a++ + ++a + a++;
// The order is:
// b = 1 + ++a + a++;
// b = 1 + ++a + 2;
// b = 1 + 4 + 2;
// b = 7; a = 4;

评估顺序保持不变,只是后缀运算符在最后一个操作(即赋值运算符)完成后增加 a 的值。

关于javascript - 关于运算符优先级的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39424683/

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