zoukankan      html  css  js  c++  java
  • 算术运算符

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="utf-8">
     5         <title></title>
     6     <script type="text/javascript">
     7     /*
     8      通过运算符可以将一个或多个值进行运算,并获取运算结果
     9      例如 typeof就是运算符,可以获得一个值的类型
    10      它会将该值的类型以字符串的形式返回
    11      
    12      算术运算符
    13      当对非number类型的值进行运算时,会将值转换为number类型再运算
    14      任何值和NaN做运算都得NaN
    15      如果是两个字符串进行加法运算,则会做拼接
    16      会将两个字符串拼接为一个字符串,并返回
    17      任何的值和字符串做加法运算,都会先转换为字符串,然后再进行拼接操作
    18     可以利用这个特点,
    19     var a=123;
    20     a=123+"";在任意数据类型后加一个空串就可以将其转换为字符串,
    21     这是一种隐式的类型转换,由浏览器自动完成,实际上也是调用了String()函数
    22     
    23     任何值做- * / 运算时都会自动转换为Number
    24     可以利用这一特点做隐式的类型转换
    25     原理和Number()函数一样,使用起来更加简单
    26     */
    27    var a=123;
    28    a=Boolean(a);
    29    console.log(typeof a);
    30    var c="ew";
    31    console.log(c-1);//NaN
    32    var d="123";
    33    console.log(d-1);//122
    34     </script>
    35     </head>
    36     <body style="height: 5000px;">
    37     </body>
    38 </html>

     

    字符串拼接:

    n+m 左右变量都有值

    1.n/m是字符串

    2.n/m是一个对象

     +{}+10 把{}当作代码块不参与运算 ->10

    +10+{}->{}参与运算->10        (老师是这么说的,但是我电脑上{}+10,10+{}都是字符串拼接)

    typeof {} 
    "object"

    {}是一个对象,把一个对象转换为字符串需要经历3个阶段:

    先调用Symbol.toPrimitive

    没有这个属性,继续调用valueOf方法获取原始值

    如果没有,则基于toString方法把其转换为字符串

    (隐式规则:最后基于Number方法转换为数字)

    10+new Number(10) -> 10+(new Number(10)).valueOf()(有valueOf()值)->20 

    +n/++n/n++ 都是数学运算 字符只出现在➕一边 ,最后通过隐式规则转换为数字

  • 相关阅读:
    深搜的剪枝技巧(二)——生日蛋糕(优化搜索顺序、可行性剪枝,最优性剪枝)
    深搜的剪枝技巧(一)——树的划分(可行性剪枝、上下界剪枝)
    MATLAB 线性规划实例应用
    七大排序算法(下)
    七大排序算法(中)
    七大排序算法(上)
    二叉树的遍历
    链表的排序
    数据结构(三):链表的Java实现
    数据结构(二):队列的Java实现
  • 原文地址:https://www.cnblogs.com/zuiaimiusi/p/11217311.html
Copyright © 2011-2022 走看看