zoukankan      html  css  js  c++  java
  • JS随笔3

    上次我写到了运算符中的“算术运算符”,接下来我继续往下走:

    好,在算术运算符中中我们发现了一个问题,就是浮点数相加后,小数点后的几位问题,该如何解决了?

    var result =  0.1 + 0.2;
                // 保留两位小数点
                console.log( result.toFixed(2) );

    PS:当处理财务或科学数据的时候,在做数字到字符串的转换过程中,你期望自己控制输出中小数点位置和有效数字位数,或者决定是否需要指数计数法。number类为这种数字到字符串的类型转换场景定义了三个方法。

    1:toFixed()根据小数点后的指定位数将数字转为字符串,它从不用指数计数法;

    2:toExponential()使用指数计数法将数字转换成指数形式的字符串,其中小数点前只有一位,小数点后的位数则由参数指定(也就是说有效数字位数比指定的位数要多一位);

     3:toPrecision()根据指定的有效数字位数将数字转换成字符串。如果有效数字小于数字整数部分的位数,则转换成指数形式。

    var  n = 123456.789;
    n.toFixed(0);//"123457"
    n.toFixed(2);//"123456.79"
    n.toFixed(5);//"123456.78900"
    
    n.toExponential(1);//"1.2e+5"
    n.toExponential(3);//"1.235e+5"
    
    n.toPrecision(4);//"1.235e+5"
    n.toPrecision(7);//"123456e.8"
    n.toPrecision(10);//"23456.7890"

     注:以上PS来自盛森分

    2. 后增量/后减量运算符 ++ ,--

    以++为例:

    var i = 0;
    
                // 写法一:
                i = i + 1;
                console.log("第1个i的值是:" + i);
    
                // 写法二:
                i++;
                console.log("第2个i的值是:" + i);
    
                // 写法三:
                ++i;
                console.log("第3个i的值是:" + i);
    
                // 前++、后++
                var i = 0,
                    j = i++; // 先赋值后运算
                console.log(j);
    
                var i = 0,
                    j = ++i; // 先运算后赋值
                console.log(j);
                
                // 累加10
                var i = 0;
                i+=10; // i = i + 10
                console.log(i);

    PS:关于先运算还是先赋值我们可以这样:

    var i =1,
          j =i++;
    //我们可以把上面的步骤这样理解:
    //  j=i   
    //  i++
    
    
    var i =1,
          j =++i;
    // i++
    //j=i

     3. 比较运算符 ( >, <, >=, <=, ==, !=,===,!== )

    前面四个就不多说了,大伙都懂,说说后面四个:

    ==在JS里表示等于,因为=在JS里是赋值的意思;

    !==不等于

    ===全等于,全等于和等于的区别是,全等于包括类型

    !==不全等

    // 第一题
        var price1=100,
            price2=200;
            document.write('第一题的值是:'+(price1 > price2)+'<br/>');
    
            // 第二题
        var price1=200,
            price2=100;
            document.write('第二题的值是:'+(price1 < price2) + '<br/>');
    
            // 第三题
        var price1=1199.00,
            price2=1200.00;
            document.write('第三题的值是:'+(price1 >= price2)+'<br/>');
    
            // 第四题
        var price1=999,
            price2=1999;
            document.write('第四题的值是:'+(price1 <= price2)+'<br/>');
    
            // 第五题
        var number1=0,
            string1="";
            document.write('第五题的值是:'+(number1 == string1)+'<br/>');
    
            // 第六题
        var number1=0,
            boolean1=false;
            document.write('第六题的值是:'+(number1 != boolean1)+'<br/>');
    
    
                // 第七题
        var number1=0,
            boolean1=false;
            document.write('第七题的值是:'+(number1 === boolean1)+'<br/>');
    
                // 第八题
        var boolean1=true,
            boolean2=true;
            document.write('第八题的值是:'+(boolean1 !== boolean2)+'<br/>');

    PS:有点意思的是:

     var num1 = 0,
                string1 = ""; // 空字符串
                console.log( num1 == string1 ); // 0 => false ""=>false
                // 对比数据类型和值 => false | true
                console.log( num1 === string1 ); // 0 => false ""=>false
                console.log( num1 !== string1 );

     试试你就知道


    4.逻辑运算符( &&, || , !)

    && : 逻辑与 (都为真才是真)
    || : 逻辑或    (有一个真就是真)
    ! :逻辑非   (“不”的意思)

    //第一题
         var num1=10,
             num2=20;
             document.write('第一题的值是:'+(num1 > 5 && num2 < 20)+'<br/>');
    
        //第二题
         var num1=33,
             num2=34;
             document.write('第二题的值是:'+(num1 == 33 || num2 > 20)+'<br/>');
    
        //第三题
         var boolean1=false,
             boolean2=true;
             document.write('第三题的值是:'+(boolean1 || !boolean2)+'<br/>');

    六、程序流程控制

    1、条件语句 if

    var score =55;
                if(  score >= 80 ){
                    alert("成绩优异");
                }else if( score >= 60 ){
                    alert("成绩合格");
                }else{
                    alert("成绩不合格");
                }
    //else 是其他情况的意思

    2、switch语句

    var i = 123;
                switch(i) {
                    case 25:
                        alert("i的值是25");
                        break;
                    case 100:
                        alert("i的值是100");
                        break;
                    default:
                        alert("i的值是未知的");
                }
    var i='B';//注意类型哦,字符串的话记得加引号
        switch(i){
            case 'A':
            alert("你已订购A套餐");
            break;
            case 'B':
            alert("你已订购B套餐");
            break;
            case 'C':
            alert("你已订购C套餐");
            break;
            case 'D':
            alert("你已订购D套餐");
            break;
            default:
            alert("欢迎下次再来");
            break;
        }

    PS:break的意思是中断,如果不加,就会继续执行下个语句。

    PS:好习惯从一开始抓起,记得写  ;  哦!

  • 相关阅读:
    SQL Server 用户管理:用 SQL 语句创建数据库用户(SQL Server 2005)
    主题:[Android API学习]AppWidget
    Android UriMatcher ContentUris
    Python的startswith和endswith
    Android编写测试数据库类时对AndroidMainfest文件进行配置
    Oracle数据库设置默认表空间问题
    Android 设置部分的字体的颜色
    Oralce函数经典 日期函数日期加减法
    PKU2593给出一串数字使得其中两个子段和最大
    边框小合集
  • 原文地址:https://www.cnblogs.com/qq1193447294/p/5841307.html
Copyright © 2011-2022 走看看