codecamp

ECMAScript 加性运算符

在多数程序设计语言中,加性运算符(即加号或减号)通常是最简单的数学运算符。

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

加法运算符

法运算符由加号(+)表示:

var iResult = 1 + 2

与乘性运算符一样,在处理特殊值时,ECMAScript中的加法也有一些特殊行为:

  • 某个运算数是NaN,那么结果为NaN。
  • -Infinity加-Infinity,结果为-Infinity。
  • Infinity加-Infinity,结果为NaN。
  • +0加+0,结果为+0。
  • -0加+0,结果为+0。
  • -0加-0,结果为-0。

不过,如果某个运算数是字符串,那么采用下列规则:

  • 如果两个运算数都是字符串,把第二个字符串连接到第一个上。
  • 如果只有一个运算数是字符串,把另一个运算数转换成字符串,结果是两个字符串连接成的字符串。

例如:

var result = 5 + 5;	//两个数字
alert(result);		//输出 "10"
var result2 = 5 + "5";	//一个数字和一个字符串
alert(result);		//输出 "55"

这段代码说明了加法运算符的两种模式之间的差别。正常情况下,5+5等于10(原始数值),如上述代码中前两行所示。不过,如果把一个运算数改为字符串"5",那么结果将变为"55"(原始的字符串值),因为另一个运算数也会被转换为字符串。

注意:为了避免JavaScript中的一种常见错误,在使用加法运算符时,一定要仔细检查运算数的数据类型。

减法运算符

减法运算符(-),也是一个常用的运算符:

var iResult = 2 - 1;

与加法运算符一样,在处理特殊值时,减法运算符也有一些特殊行为:

  • 某个运算数是NaN,那么结果为NaN。
  • Infinity减Infinity,结果为NaN。
  • -Infinity减-Infinity,结果为NaN。
  • Infinity减-Infinity,结果为Infinity。
  • -Infinity减Infinity,结果为-Infinity。
  • +0减+0,结果为+0。
  • -0减-0,结果为-0。
  • +0减-0,结果为+0。
  • 某个运算符不是数字,那么结果为NaN。

注释:如果运算数都是数字,那么执行常规的减法运算,并返回结果。

ECMAScript 乘性运算符
ECMAScript 关系运算符
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }