这是一系列关于JavaScript中语法的问题.这也是社区Wiki,因此邀请每个人参与维护此列表.
Stack Overflow不允许搜索特定字符.因此,在搜索运算符和其他语法标记时,很难找到许多关于运算符和其他语法标记的问题.这也使得关闭重复更加困难.以下列表是为了解决此问题.
主要思想是在Stack Overflow上链接现有问题,因此我们更容易引用它们,而不是复制ECMAScript规范中的内容.
此外,这是PHP符号引用的公然副本.我们需要一个JS.
请帮忙.编辑并添加指向其他运算符/语法参考的链接,或者如果您无法在特定语法上找到好的问题/答案,请添加此问题的答案并将其链接
显然,有些时候#defines必须有括号,如下:
#define WIDTH 80+20
int a = WIDTH * 2; // expect a==200 but a==120
Run Code Online (Sandbox Code Playgroud)
所以我总是括号,即使它只是一个数字:
#define WIDTH (100)
Run Code Online (Sandbox Code Playgroud)
C的新人问我为什么这样做,所以我试图找到一个边缘情况,在一个数字上没有括号#define会导致问题,但我想不出一个.
这种情况是否存在?
我从一个标记为重复的问题中借用了此代码,然后删除了1,但是因为我无法找到与它完全相同的重复项,所以我想为此创建一个新问题。
我知道浮点运算的问题(浮点运算是否被破坏?),但这种特殊情况仍然很有趣。
以下两个片段看起来似乎相同:
let a = 860.42065
a *= 1/860.42065
console.log(a);Run Code Online (Sandbox Code Playgroud)
let a = 860.42065
a = a * 1/860.42065
console.log(a);Run Code Online (Sandbox Code Playgroud)
所以人们可以期望那些应该有相同的结果,因为a *= b被视为a = a * b(+= (plus equal) 是如何工作的?)的捷径。
但是这两个片段的结果可能不同。