首页 > 代码库 > JS随笔3

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

 

JS随笔3