javascript中提供了几种算术运算符,+(加)  -(减)  *(乘)  /(除)  %(余),常规用法与数学上的一致;  但还规定一些特殊规则:

  注:JavaScript中保存数值的方式,可以保存正零(+0)和负零(-0);正零与负零被认为相等。

乘性操作符(*):

  如果结果太大或太小,那么生成的结果是 Infinity 或 -Infinity。

  如果某个运算数是 NaN,结果为 NaN。

  Infinity 乘以 0,结果为 NaN

  Infinity 乘以 0 以外的任何数字,结果为 Infinity 或 -Infinity。

  Infinity 乘以 Infinity,结果为 Infinity。

  若果一个数不是数值,则在后台调用Number()将其转换为数值,然后再应用上面规则;

除性操作符(/):

  如果结果太大或太小,那么生成的结果是 Infinity 或 -Infinity。

  如果某个运算数是 NaN,结果为 NaN。

  Infinity 被 Infinity 除,结果为 NaN。

  Infinity 被任何数字除,结果为 Infinity。

  0 除一个任何非无穷大的数字,结果为 NaN。

  Infinity 被 0 以外的任何数字除,结果为 Infinity 或 -Infinity

  若果一个数不是数值,则在后台调用Number()将其转换为数值,然后再应用上面规则;

取模运算符(%):

  如果被除数是 Infinity,或除数是 0,结果为 NaN。

  Infinity 被 Infinity 除,结果为 NaN。

  如果除数是无穷大的数,结果为被除数。

  如果被除数为 0,结果为 0。

加法运算符(+):

  某个运算数是 NaN,那么结果为 NaN。

  -Infinity 加 -Infinity,结果为 -Infinity。

  Infinity 加 -Infinity,结果为 NaN。

  +0 加 +0,结果为 +0。

  -0 加 +0,结果为 +0。

  -0 加 -0,结果为 -0。

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

  如果两个运算数都是字符串,把第二个字符串连接到第一个上。

  如果只有一个运算数是字符串,把另一个运算数转换成字符串,结果是两个字符串连接成的字符串

减法操作符(-):

  某个运算数是 NaN,那么结果为 NaN。

  Infinity 减 Infinity,结果为 NaN。

  -Infinity 减 -Infinity,结果为 NaN。

  Infinity 减 -Infinity,结果为 Infinity。

  -Infinity 减 Infinity,结果为 -Infinity。

  +0 减 +0,结果为 +0。

  -0 减 -0,结果为 -0。

  +0 减 -0,结果为 +0。

  某个运算符不是数字,那么结果为 NaN。

  

javascript中算术运算符规则的更多相关文章

  1. JavaScript中的运算符种类及其规则介绍

    JavaScript中的运算符有很多,主要分为算术运算符,等同全同运算符,比较运算符,字符串运算符,逻辑运算符,赋值运算符等.这些运算符都有一些属于自己的运算规则,下面就为大家介绍一下JavaScri ...

  2. (转)JavaScript中的运算符优先级

    JavaScript中的运算符优先级是一套规则.该规则在计算表达式时控制运算符执行的顺序.具有较高优先级的运算符先于较低优先级的运算符执行.例如,乘法的执行先于加法. 下表按从最高到最低的优先级列出J ...

  3. JavaScript中“typeof”运算符与“instanceof”运算符的差异

    在JavaScript中,运算符“typeof”和“instanceof”都可以用来判断数据的类型,那么这两个运算符有什么不同之处呢? 差异一:使用方式不同. 最明显的差异就是这两个运算符的使用方式了 ...

  4. JavaScript中逗号运算符

    JavaScript中逗号运算符(,)是顺序执行两个表达式.使用方法: expression1, expression2 其中expression1是任何表达式. expression2是任何表达式. ...

  5. JavaScript学习系列7 -- JavaScript中的运算符

    今天,我们来说一说JavaScript中的运算符,首先我们来讲一讲 一元运算符 JavaScript中的一元运算符有以下几种 1. delete delete 运算符主要用于删除对以前定义的对象属性或 ...

  6. 前端知识体系:JavaScript基础-原型和原型链-理解原型设计模式以及 JavaScript中的原型规则

    理解原型设计模式以及 JavaScript中的原型规则(原文地址) 1.原型对象:我们创建的每一个函数(JavaScript中函数也是一个对象)都有一个原型属性 prototype,原型属性实质上是一 ...

  7. JavaScript中字符串运算符的使用

    字符串运算符是用于两个字符串型数据之间的运算符,它的作用是将两个字符串连接起来.在JavaScript中,可以使用+和+=运算符对两个字符串进行连接运算.其中,+运算符用于连接两个字符串,而+=运算符 ...

  8. JavaScript中的运算符和语句

    一.JavaScript的运算符 a.基本的算术运算符(+.-.*./.%) -.*./.%运算符会在必要的时候将操作数转换为数字,无法转换成数字的操作数将会转换成NaN,相应的运算结果也是NaN. ...

  9. 深入理解JavaScript中的==运算符

    原文章地址 在详细介绍图1中的每个部分前,我们来复习一下JS中关于类型的知识: JS中的值有两种类型:基本类型.对象类型. 基本类型包括:Undefined.Null.Boolean.Number和S ...

随机推荐

  1. C# 分析搜索引擎url 得到搜索关键字

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  2. linux 命令之 uptime

    uptime 命令是用来查询linux系统负载的. 命令格式 uptime [OPTION] -V 显示版本号 不带參数的 uptime 直接输出系统负载. 何为系统负载呢? 系统平均负载被定义为在特 ...

  3. struts2 模型驱动的action赋值优先顺序

    struts2 模型驱动的action赋值优先顺序: 1.优先设置model的属性. 2.如果model属性中没有对应的成员变量,则向上冒泡,寻找action中的属性进行set. 如果action中的 ...

  4. html系列教程--元素

    HTML 元素语法 HTML 元素以开始标签起始 HTML 元素以结束标签终止 元素的内容是开始标签与结束标签之间的内容 某些 HTML 元素具有空内容(empty content) 空元素在开始标签 ...

  5. Matlab基础知识

    一.常用命令:普通的如cd.ls和linux下一样 clc:清除工作窗口中的所有显示内容 clf:清除图形窗口 whos:列出当前工作空间中所有变量,以及它们的名字.尺寸(比如一个矩阵或数组的行列维数 ...

  6. BZOJ 4016: [FJOI2014]最短路径树问题( 最短路 + 点分治 )

    先跑出最短路的图, 然后对于每个点按照序号从小到大访问孩子, 就可以搞出符合题目的树了. 然后就是经典的点分治做法了. 时间复杂度O(M log N + N log N) -------------- ...

  7. Linux学习之系统时间同步

    一.系统时间的设置 在Linux中设置系统时间,可以用date命令: //查看时间 [root@localhost ~]# date 2008年 12月 12日 星期五 :: CST //修改时间 [ ...

  8. PHP多线程的实现(PHP多线程类)

    通过WEB服务器来实现PHP多线程功能. 当然,对多线程有深入理解的人都知道通过WEB服务器实现的多线程只能模仿多线程的一些效果,并不是真正意义上的多线程. 但不管怎么样,它还是能满足我们的一些需要的 ...

  9. 文本域textarea显示输入剩余字数

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. 数据库课本SQL第三章答案

    3 .用 sQL 语句建立第二章习题 5 中的 4 个表. 答: 对于 S 表: S ( SNO , SNAME , STATUS , CITY ) ; 建 S 表: CREATE TABLE S ( ...