Математические операторы
+ – сложение: m_Z=m_X+m_Y;
m_Z=m_X-m_Y;
m_Z=m_X*m_Y;
m_Z=m_X/m_Y;
% – деление по модулю m_Z=m_X%m_Y;
++ – оператор инкремента: m_Z++; //Эквивалентно m_Z=m_Z+1;
-- – оператор декремента: m_Z--; //Эквивалентно m_Z=m_Z-1;
Операторы инкремента и декремента могут использоваться в постфиксной или префиксной формах:
m_Z++; m_Z--; // Постфиксная форма
++m_Z; --m_Z; // Префиксная форма
В чем разница? При постфиксной форме (m_z++) возвращается значение, которое переменная имела перед операцией, а при префиксной форме (++m_z) – вначале производится операция и только потом возвращается значение. Про демонстрируем разницу на примере (листинг 3.7).
Листинг 3.7. Постфиксная и префиксная форма
<HTML>
<HEAD>
<TITLE>Постфиксная и префиксная форма</TITLE>
</HEAD>
<BODY>
<SCRIPT language="JavaScript">
<!--
var m_X, m_Z;
m_X=5;
m_Z=m_X++; // m_Z=5, m_X=6
var m_Str;
m_Str = "<B>Постфиксная форма (m_Z=m_X++;):</B><BR> m_Z = ";
m_Str += m_Z + "<BR>m_X = " + m_X + "<BR><BR>";
document.write(m_Str);
m_X=5;
m_Z=++m_X; // m_Z=6, m_X=6
m_Str = "<B>Префиксная форма (m_Z=++m_X;):</B><BR> m_Z = ";
m_Str += m_Z + "<BR>m_X = " + m_X;
document.write(m_Str);
//-->
</SCRIPT>
</BODY>
</HTML>
Операторы присваивания
m_Z=m_X;
m_Z+=5; // Эквивалентно m_Z=m_Z+5;
m_Z-=5; // Эквивалентно m_Z=m_Z-5;
m_Z*=5; // Эквивалентно m_Z=m_Z*5;
m_Z/=5; // Эквивалентно m_Z=m_Z/5;
m_Z%=5; // Эквивалентно m_Z=m_Z%5;