为什么不首先执行函数调用?根据JavaScript运算符,函数调用的优先级为19,但是如下面的代码所示,函数调用是在变量x递增之后执行的。这意味着函数调用将输出变量x的增量值1。

 var x; // variable x;
 x = 0; // assigned the value 0 to variable x;
 ++ x + alert(x); // function call outputs the value 1;


如您在上面的代码中看到的那样,该函数调用没有首先执行。如果首先执行该函数调用,则它必须显示一个带有数字0的警报框,但是该警报框上显示有数字1。这意味着在变量x递增之后,仅执行函数调用。

最佳答案

您是误会。函数调用括号的较高优先级意味着它将表现为

++ x + (alert(x))


代替

(++ x + alert)(x)

08-07 08:15