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:好习惯从一开始抓起,记得写  ;  哦!

 

posted on 2016-09-05 10:13  咦惹-梁泳  阅读(122)  评论(0编辑  收藏  举报

导航