JS第二章下

比较运算符

比较运算符 用来比较两个值 怎么样 返回结果为boolean类型.
例如常见的有以下:  >    <    >=  <=  !=   ==   
了解一下的   ===   表示全等于 
==仅仅是判断值是否相等   ===不仅要值相等而且要类型相等
console.log("1"  ==  1);//true
console.log("1"  ===  1);//false

赋值运算符

赋值运算符:最常见的就是 =   将右边的式子赋给左边.
var a = 2 ;
不常见的有如下:
+=   *=   -=  /=  %=
 例如
 a  =  a + 1; 等同于 a+=1;
            
            //习题:
            var a = 3;
            a += 2;        
            console.log(a);//5
            a -= 2;        
            console.log(a);//3           
            a *= 2;        
            console.log(a);//6          
            a /= 2;        
            console.log(a);  //3    
            a %= 2;        
            console.log(a);  //1
            a **= 2;        
            console.log(a);  //1

逻辑运算符

逻辑运算符的用法主要分为以下4类:
 && 短路与   & 逻辑与
 || 短路或   |逻辑或
用法完全一致  区别如下:
  例如 a  &&  b
如果a和b都为真,返回值才为真. 那么当a为false 将不会执行b
 例如 a  &  b
如果a和b都为真,返回值才为真. 当a为false 将会执行b
例如 a  ||  b
如果a和b只要有一个为真,返回值才为真. 那么当a为true 将不会执行b
 例如 a  |  b
如果a和b只要有一个为真,返回值才为真. 当a为true 将会执行b
            
            var num = 1;
            false && num++;
            console.log(num);//1
            true || num++;
            console.log(num);//1
            
            var num = 1;
            false & num++;
            console.log(num);//2
            true | num++;
            console.log(num);//3

三元运算符

    三元运算符也称为三元表达式
                语法如下:
                条件表达式 ? 表达式1 : 表达式2

                如果条件表达式的值为true,则返回表达式1的执行结果。
                如果条件表达式的值为false,则返回表达式2的执行结果。
                常用于替代简单的if-else语句
            
  
           
           var age = 18;
         if (age>18) {
        alert("成年了");
          } else{
         alert("未成年");
        }
           alert( age>18?"陈年了":"未成年" );

 算术运算符


                算数运算符有如下几种:
                +   -    *     /   %
                以上五种是最基本的加减乘除和取余
                其中取余的注意事项:例题如下            
            
           console.log(10%3);//1
            console.log(10%-3);//1
            console.log(-10%3);//-1
           console.log(-10%-3);//-1
          总结:取余结果的正负取决于%左边的正负,也就是两个数取余,首先全看成正数
            //然后结果的正负和%左边的正负一致即可.
            
          ** 幂运算  语法:  a ** b  理解为a的b次方
           console.log(2**3);//8
            
            ++ 和 --  表示自增1  和自减1
            有两种用法:  a++ 表示先用在加   ++a表示先加再用
            
            做算数运算的注意事项: 任何编程语言都有一个通病
           做小数运算会可能损失精度
          console.log(0.1+0.2);//0.300000004
            
           所以JS提供了一个方法 来避免这种情况出现
            aaa.toFixed(num); 表示保留小数点后面几位小数
         aaa表示某个数  num表示保留几位   如果没写默认就是0
            console.log(  (0.1+0.2).toFixed(3)  );
         注意事项: 该方法的返回值是string类型.
            
            
            字符运算符 就是一个  +  
            字符之间的运算 通过 +  即可完成拼接
            var str1 = "张三";
            var str2 = "是猪";
           console.log(str1+str2);//张三是猪
            
           注意事项:任何类型 + string   = string
           所以:我们不仅可以将字符串转型成数字  也可以将任何类型 转成string
           最常见的做法: 直接和空字符串相加即可.这样不会影响值的本身.
           console.log( typeof (1234 + ""));
            

案例


    根据弹窗,用户输入的数据完成求和运算,能够利用运算符计算用户输入的两数之和
             为了避免JavaScript的精度问题,将结果保留两位小数。
            var num1 = prompt("请输入第一个数字");
            var num2 = prompt("请输入第二个数字");
            
          注意:下面写法是错误的.原因: 因为toFieed方法只能给数字使用
          但是prompt方法返回的一定是字符串,所以num1+num2的结果就是字符串.无法调用toFixed方法.
            alert( (num1 + num2).toFixed(2) );
            
            //思考: 是一个一个将Num1和num2转成数字 还是为了节省代码将(num1+num2)看成一个整体然后进行转型
            答案:这里不能为了节省代码. 因为string+string是字符串的拼接
            
            num1 = Number(num1);
            num2 = Number(num2);
            
           这里注意:可以改进,如果结果是NAN  我们应该给用户提示一个"请输入合法的数据"
            
            思路:将NAN的值弄清楚是什么类型 通过typeof 得知 NAN 是一个String类型
            if ( (num1 + num2).toFixed(2) == "NaN") {
                alert("请输入合法的数据");
            }else{
                alert( (num1 + num2).toFixed(2) );

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值