JavaScript基础知识三

1.算数运算符有如下几种:

                + - * / %

                以上五种是最基本的加减乘除和取余

                其中取余的注意事项:例题如下          

   

             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 + ""));

2.算术运算符案例:

 根据弹窗,用户输入的数据完成求和运算,能够利用运算符计算用户输入的两数之和

            /为了避免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) );

            }

            

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值