zoukankan      html  css  js  c++  java
  • javascripte运算符---算数运算符

    ECMAScript定义了5个算数运算符:加减乘除取余.如果参与算数运算的值不是数值,那么后台会先使用Number()转型函数将其转换为数值(隐式转换).

    运算规则如下:

      (1).数值直接进行算数操作.

      (2).只要有一个操作数是NaN结果即为NaN.

      (3)

    例子:

    1.加法

    var box = 1 + 2; //等于3

    var box = 1 + NaN; //NaN,只要有一个NaN就为NaN

    var box = Infinity + Infinity; //Infinity

    var box = -Infinity + -Infinity; //-Infinity

    var box = Infinity + -Infinity; //NaN,正无穷和负无穷相加等NaN

    var box = 100 + '100'; //100100,字符串连接符,有字符串就不是加法

    var box = '您的年龄是:' + 10 + 20; //您的年龄是:1020,被转换成字符串

    var box = 10 + 20 + '是您的年龄'; //30是您的年龄,没有被转成字符串

    var box = '您的年龄是:' + (10 + 20); //您的年龄是:30,没有被转成字符串

    var box = 10 + 对象 //10[object Object],如果有toString()valueOf()

     则返回10+返回数的值

     

    2.减法

    var box = 100 - 70; //等于30

    var box = -100 - 70 //等于-170

    var box = -100 - -70 //-30,一般写成-100 - (-70)比较清晰

    var box = 1 - NaN; //NaN,只要有一个NaN就为NaN

    var box = Infinity - Infinity; //NaN

    var box = -Infinity - -Infinity; //NaN

    var box = Infinity - -Infinity; //Infinity

    var box = -Infinity - Infinity; //-Infinity

    var box = 100 - true; //99true转成数值为1

    var box = 100 - ''; //100''转成了0

    var box = 100 - '70'; //30'70'转成了数值70

    var box = 100 - null; //100null转成了0

    var box = 100 - 'Lee'; //NaNLee转成了NaN

    var box = 100 - 对象 //NaN,如果有toString()valueOf()

     则返回10-返回数的值

     

    3.乘法

    var box = 100 * 70; //7000

    var box = 100 * NaN; //NaN,只要有一个NaN即为NaN

    var box = Infinity * Infinity; //Infinity

    var box = -Infinity * Infinity ; //-Infinity

    var box = -Infinity * -Infinity ; //Infinity

    var box = 100 * true; //100true转成数值为1

    var box = 100 * ''; //0''转成了0

    var box = 100 * null; //0null转成了0

    var box = 100 * 'Lee'; //NaNLee转成了NaN

    var box = 100 * 对象 //NaN,如果有toString()valueOf()

     则返回10 - 返回数的值

    4.除法

    var box = 100 / 70; //1.42....

    var box = 100 / NaN; //NaN

    var box = Infinity / Infinity; //NaN

    var box = -Infinity / Infinity ; //NaN

    var box = -Infinity / -Infinity;  //NaN

    var box = 100 / true; //100true转成1

    var box = 100 / ''; //Infinity

    var box = 100 / null; //Infinity

    var box = 100 / 'Lee'; //NaN

    var box = 100 / 对象; //NaN,如果有toString()valueOf()

     则返回10 / 返回数的值

     

    5.求模

    var box = 10 % 3; //1,余数为1

    var box = 100 % NaN; //NaN

    var box = Infinity % Infinity; //NaN

    var box = -Infinity %  Infinity ; //NaN

    var box = -Infinity %  -Infinity;  //NaN

    var box = 100 %  true; //0

    var box = 100 %  ''; //NaN

    var box = 100 %  null; //NaN

    var box = 100 %  'Lee'; //NaN

    var box = 100 %  对象; //NaN,如果有toString()valueOf()

     则返回10 % 返回数的值

  • 相关阅读:
    洛谷P4172 [WC2006]水管局长(lct求动态最小生成树)
    洛谷P1501 [国家集训队]Tree II(打标记lct)
    洛谷P2173 [ZJOI2012]网络(10棵lct与瞎jb暴力)
    [Asp.net 5] Localization-resx资源文件的管理
    [Asp.net 5] Localization-简单易用的本地化-全球化信息
    [Asp.net 5] Configuration-新一代的配置文件
    [Asp.net 5] Configuration-新一代的配置文件(ConfigurationSource的多种实现)
    [Asp.net 5] Configuration-新一代的配置文件(神奇的Binder)
    [Asp.net 5] Configuration-新一代的配置文件(接口定义与基础实现)
    [Asp.net 5] DependencyInjection项目代码分析-目录
  • 原文地址:https://www.cnblogs.com/fatfatdachao/p/3441389.html
Copyright © 2011-2022 走看看