在 javascript 中,++a 和 a++ 都是一元遞增運算符,前者先遞增再輸出,后者先輸出再遞增,且前者優先級更高,先于算術運算符執行。
JavaScript 中 ++a 和 a++
在 JavaScript 中,++a 和 a++ 都是一元運算符,用于遞增變量的值。但是,它們之間有一個關鍵的區別:
++a(前綴遞增)
先將變量的值遞增 1,然后返回遞增后的值。
表達式 ++a 的值是遞增后的值。
a++(后綴遞增)
先返回變量的當前值,然后再將變量的值遞增 1。
表達式 a++ 的值是遞增前的值。
示例:
<code class="js">let a = 5; console.log(++a); // 返回 6,將 a 的值遞增 1 后輸出 console.log(a); // 輸出 6 console.log(a++); // 返回 6,輸出 a 的當前值 console.log(a); // 輸出 7,將 a 的值在輸出后遞增 1</code>
登錄后復制
另一個區別:
在 JavaScript 中,++a 運算符具有更高的優先級(比算術運算符優先)。這意味著當一個表達式同時包含 ++a 和算術運算符時,++a 將首先執行。
示例:
<code class="js">let a = 5; console.log(a + ++a); // 返回 12,先遞增 a,然后再執行加法 console.log(a + a++); // 返回 11,先執行加法,再遞增 a</code>
登錄后復制
總之,++a 先遞增再輸出,a++ 先輸出再遞增。理解這兩種運算符的區別對于編寫清晰、無歧義的 JavaScript 代碼至關重要。