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. logstash 操作redis

    在实际应用中,Logstash进程会被氛围两个不同的角色. 运行在应用服务器上的尽量减轻运行压力,只做读取和转发,这个角色叫做shipper 运行在独立的服务器上完成数据解析处理,负责写入到Elast ...

  2. OAuth 2.0 for MVC, Two Legged Implementation

    OAuth 2.0 for MVC, Two Legged Implementation tdupont  Fri, Mar 18 2011 9:30 AM  13 OAuth 1.0 was one ...

  3. Oracle初级入门 根据某字段重复只取一条记录,并计计算重复条数

    在平常开发中,去重复数据经常使用到,本人新手,接触Oracle也不久,开发中用到的小知识点,记录一下,老鸟可绕道,如果有写错的,请指正. 去重复记录可以使用distinct,当只查询一列数据时,可以轻 ...

  4. 动画原理——绘制正弦函数&环绕运动&椭圆运动

    书籍名称:HTML5-Animation-with-JavaScript 书籍源码:https://github.com/lamberta/html5-animation  1.正弦函数.x位置递增, ...

  5. 无法识别的属性“targetFramework”

    问题描述:无法识别的属性“targetFramework”.请注意属性名称区分大小写. 解决办法:修改.NET Framework 版本为相应版本即可,例如2.0换成4.0. 参考:http://bl ...

  6. api(一) 创建窗口 (转)

    所有的Windows SDK编程都有一个类似的框架,本文就说说这个框架,Windows程序设计的框架分为“三部曲”: 一.注册窗口类 注册窗口类的API函数是RegisterClass或者Regist ...

  7. 内存管理之三——Cocos2d-x学习历程(七)

    1.容器---2.0版本 Cocos2d-x引擎为我们提供了CCArray.CCDictionary等Objective-C风格的容器.使用Cocos2d-x容器的一个重要原因在于Cocos2d-x的 ...

  8. ENVI5.1批量镶嵌工具界面按钮显示不全的解决方案

    打开批量镶嵌工具,在导出文件界面,部分按钮显示不全.具体见下图: 图 1 界面按钮显示不全 解决方案: 以win7.8系统为例: 显示桌面 – > 右键“个性化” – >显示 – > ...

  9. Python进阶之面向对象编程概述

    Python面向对象编程(一) .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB& ...

  10. jqeruy的append一个有趣的用法(挪移控件位置)

    使用:$(放置的容器).append($(需要迁移的控件)) 需求:列表中点击编辑可以在无刷修改 以前的方法是在列表中的每条数据直接放置控件.但是这个地区选择控件是服务器自定义控件不可以放置在列表的循 ...