zoukankan      html  css  js  c++  java
  • 02 数据类型&运算符

    基本数据类型

    和python一样,js的变量命名也是弱类型,也就是说根据变量值来定义变量类型。

    运算符值得注意的点是,===,这个指类型和值都相等。

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <meta http-equiv="X-U-Compatible" content="IE-edge">
     6     <meta name="viewport" content="width=device-width,initial-scale=1">
     7     <title>数据类型转换&运算符</title>
     8 </head>
     9 <body>
    10     <!--数据类型转换-->
    11     <script type="text/javascript">
    12         // number 转换成 string
    13         var n = 100,s = 'str';
    14         var newParam = n + s ;  // 隐式转换
    15         console.log(typeof newParam);  // string
    16         var n2 = String(n);  // 强制转换  String()  方法
    17         var n3 = n.toString();  // 强制转换  toString() 方法
    18         console.log(typeof n,typeof  n2,typeof  n3);  // number string string
    19 
    20         // 将string转换成number
    21         var m = '123';
    22         var e = Number(m);  // 强制转换
    23         console.log(typeof  m,typeof  e);// string number
    24         var ms = '12str';
    25         var es = Number(ms);  // 有个点要注意 如果强制转化的变量不是一个数值 那么转换后的值会变成 NAN  not a number
    26         console.log(es,typeof  es);// NAN number
    27         console.log(parseInt('123.321')); //123  parseInt()可以解析一个字符串 并且返回一个整数
    28         console.log(parseFloat('123.321')); //123.321  parseFloat()可以解析一个字符串 并且返回一个小数
    29 
    30         // 四舍五入
    31         var num1 = 12.567;
    32         var num2 = num1.toFixed(2); // 保留两位小数 注意四舍五入后的类型为字符串
    33         console.log(num2, typeof num2); //  12.57 string
    34 
    35         // 任何的数据类型都可以转换为boolean类型
    36         var b1 = '123'; //true
    37         var b2 = 0; //false
    38         var b3 = -123; //true
    39         var b4 = Infinity; //true
    40         var b5 = NaN; //false
    41         var b6; //false
    42         var b7 = null; //false
    43         //使用Boolean(变量) 来查看当前变量的真假
    44 
    45     </script>
    46 
    47     <!--运算符-->
    48     <script type="text/javascript">
    49         // 赋值运算符
    50         var x=18,y=5;
    51         var z = x; // 将z这个变量也指向 12 这个值的内存地址
    52         x = 12;  // 从新开辟了一个内存地址存12  x指向这个内存地址  18的内存你地址不变
    53         console.log(x,z); // 12,18
    54         console.log(x+=y); // 17  等同于  x = x + y
    55         console.log(x-=y); // 12  等同于  x = x - y
    56         console.log(x*=y); // 60  等同于  x = x * y
    57         console.log(x/=y); // 12  等同于  x = x / y
    58         console.log(x%=y); // 2  等同于  x = x % y
    59 
    60         // 算数运算符
    61         var a = 5,b=2;
    62         var c = a + b;
    63         console.log(c);  // 7
    64         var c = a - b;
    65         console.log(c);  // 3
    66         var c = a * b;
    67         console.log(c);  // 10
    68         var c = a / b;
    69         console.log(c);  // 2.5
    70         var c = a % b;
    71         console.log(c);  // 1
    72         var c = a ++;  // 这里需要解释下,先将a赋值给测c,然后a再自加,也就下面的代码里a=6.
    73         console.log(c);  // 5
    74         var c = a --;  // 这也是一样的,先将a赋值给测c,然后a再自减,也就下面的代码里a=5.
    75         console.log(c);  // 6
    76         var c = ++a ;  // 这也不同了,先将a自加,然后a赋值给c,a=6,c=6
    77         console.log(c);  // 6
    78         var c = --a;  // 这也不同了,先将a自减,然后a赋值给c,a=5,c=5
    79         console.log(c);  // 1
    80 
    81         // 比较运算符
    82         // 比较运算符得到的是一个布尔值,常用来做判断
    83         var m = 666;
    84         console.log(m == 666, m == '666', m == 777);// true true false  只要值相等就成
    85         console.log(m === 666, m=== '666');// true false  值和类型都需要相同
    86         console.log(m != 666, m != 777);//  false true  只要值不相等就成
    87         console.log(m !== 666, m !== '666');//  false true    值和类型都需要不相同
    88         console.log(m > 777, m > '222');//  false true    比较的是值  不比较类型
    89         console.log(m < 777, m < '222');//  true false     比较的是值  不比较类型
    90         console.log(m >= 777, m >= '222');//  false true     比较的是值  不比较类型
    91         console.log(m <= 777, m <= '222');//  true false     比较的是值  不比较类型
    92 
    93         // 三元运算符  var a = 布尔值 ? "为真取前面这个" : "为假取后面这个";
    94         var age = 17;
    95         var flag = age >= 18 ? "成年人":"未成年";
    96         console.log(flag);  // 因为 age >= 18  为假,所以 控制台输出的是 未成年
    97     </script>
    98 </body>
    99 </html>
  • 相关阅读:
    关于在pycharm下提示ModuleNotFoundError: No module named 'XXX' 的一种可能
    记录Python类与继承的一个错误
    JavaScript 中this 初步理解笔记
    Kibana6.x.x源码分析--如何自定义savedObjectType对象
    Kibana6.x.x源码分析--如何使用kibana的savedObjectType对象
    AngularJs依赖注入写法笔记
    Kibana6.x.x源码分析--ngReact使用
    Kibana6.x.x源码分析--Error: $injector:nomod Module Unavailable
    互联网时代,我们可以选择不做穷人
    ES6问题记录--Promise
  • 原文地址:https://www.cnblogs.com/znyyy/p/11095863.html
Copyright © 2011-2022 走看看