ECMAScript Additive Operators

在多數程序設計語言中,加性運算符(即加號或減號)通常是最簡單的數學運算符。

在 ECMAScript 中,加性運算符有大量的特殊行為。

加法運算符

法運算符由加號(+)表示:

var iResult = 1 + 2

與乘性運算符一樣,在處理特殊值時,ECMAScript 中的加法也有一些特殊行為:

  • Kung ang isang bilang ay NaN, ang resulta ay NaN.
  • -Infinity 加 -Infinity,結果為 -Infinity。
  • Infinity 加 -Infinity,結果為 NaN。
  • +0 pumama sa +0, ang resulta ay +0.
  • -0 pumama sa +0, ang resulta ay +0.
  • -0 pumama sa -0, ang resulta ay -0.

Gayunman, kung ang isang argumento ay string, gamitin ang sumusunod na patakaran:

  • Kung ang dalawang argumento ay parehong string, magpalit ng ikalawang string sa unang string.
  • Kung may isang argumento lamang na string, magpalit ng ibang argumento sa string, ang resulta ay ang magkasama ng dalawang string.

Halimbawa:

var result = 5 + 5;	// Dalawang numero
alert(result);		// Maglathala ng "10"
var result2 = 5 + "5";	// Isang numero at isang string
alert(result2);		// Maglathala ng "55"

Ang kodong ito ay naglalarawan ng kaibahan ng dalawang paraan ng operator ng pagsasama. Normal na, 5+5 ay magiging 10 (orihinal na halaga), tulad ng naibigay sa dalawang unang linya ng code na ito. Gayunpaman, kung magpalit ng isang argumento na string "5", ang resulta ay magiging "55" (orihinal na string na halaga), dahil ang ibang argumento ay magiging string din.

Babala:Upang maiwasan ang isang karaniwang pagkakamali sa JavaScript, ay dapat masusuri nang maingat ang uri ng datos ng argumento sa paggamit ng operator ng pagsasama.

Operator ng pagbawas

Ang operator ng pagbawas (-) ay isa sa mga pinakamadalang operator:

var iResult = 2 - 1;

Kaugnay ng operator ng pagsasama, ang operator ng pagbawas ay may mga espesyal na gawain sa pagtugon sa mga espesyal na halaga:

  • Kung ang isang bilang ay NaN, ang resulta ay NaN.
  • Infinity bawas Infinity, ang resulta ay NaN.
  • -Infinity bawas -Infinity, ang resulta ay NaN.
  • Infinity bawas -Infinity, ang resulta ay Infinity.
  • -Infinity bawas Infinity, ang resulta ay -Infinity.
  • +0 bawas +0, ang resulta ay +0.
  • -0 bawas -0, ang resulta ay -0.
  • +0 bawas -0, ang resulta ay +0.
  • Kung ang isang operator ay hindi numerong, ang resulta ay NaN.

Komentaryo:Kung ang lahat ng bilang ay numerong, maglulunsad ng karaniwang pagbawas ng operasyon at ibalik ang resulta.