js笔记4-数学对象和运算符

一.数学对象

在js中,提供了一个内置的数学对象,叫做Math。这个对象的很多属性和方法都是提供我们使用的。

对象:我们经常将引用类型的数据称之为对象。

属性和方法:没有f的称之为属性,有f的称之为方法。

<script> 
    console.log(Math); //打印对象的所有属性和方法。
    console.log(Math.PI);//属性的使用,圆周率
    console.log(Math.abs(-12));//方法的使用,绝对值
</script>

在这里插入图片描述
在这里插入图片描述

二.运算符

1.算术运算符

算术运算符可以叫做数学运算符。

数学运算符

在js当中,数学运算符有加(+)减(-)乘(*)除(/)余(%)

计算口诀:先算乘除、后算加减。如果有小括号,先算小括号里的。

特殊值可以参与运算

<script> 
    console.log(1+2); //3
    console.log(1-2); //-1
    console.log(1*2); //2
    console.log(1/2); //0.5
    console.log(3%2); //1
    console.log(Infinity+62);  //Infinity
    console.log(NaN+4);   //NaN
</script>

其他类型的数据隐式转换为数字,也能数学运算

<script> 
    console.log(Number(true)+1); //2
    console.log(Number(false)+4); //4
    console.log(Number(undefined)); //NaN
    console.log(Number(null)); //0
</script>

字符串类型参与数学运算

连接符的作用:字符连数字、字符连字符

Number:隐式转换为数字,它是一个内置函数。


<script> 
    console.log(Number("")+1); //1
    console.log(Number("学习12")+2); //NaN
    console.log(Number("12学习")+2); //NaN
    console.log(Number("12")+3); //15
</script>

总结

空字符:0

非纯数字的字符串:NaN

纯数字:数字


自增、自减

自增

a++:后置递增,进行加1操作
++a:前置递增,进行加1操作

<script> 
    var a=10;
    console.log(a++); //10    为什么是10?因为a++是先打印,后运算。

    a=10;
    console.log(++a); //11    为什么是11?因为++a是先运算,后打印。
</script>

自减

同理可得

<script> 
    var a=10;
    console.log(a--); //10 

    a=10;
    console.log(--a); //9    
</script>

2.比较运算符

比较运算

比较运算符:大于、大于等于、小于、小于等于、等于、不等于、全等于、不全等于。

两个数据进行对比,对比的结果不是为真,就是为假。

两个等号:相等判断,判断数值是否相等。

三个等号:全等的判断,数值和数据类型是否全等。

<script>  
    console.log(10>4); //true
    console.log(4>=4); //true
    console.log(10<4); //false
    console.log(4<=4); //true
    console.log(4==4); //true
    console.log(4!=4);  //false
    console.log(4===4);  //true        数值相等,数据类型也相等
    console.log(4!=="4"); //true       数值相等,但是数据类型不相等
</script>

数字类型的特殊值也可以参与比较运算

Infinity

<script>  
    console.log(Infinity==Infinity); //true
    console.log(Infinity>999); //true
    console.log(Infinity<999); //false
    console.log(Infinity===Infinity);//true
</script>

NaN

<script>  
    console.log(NaN==NaN); //false  
    console.log(NaN>999); //false
    console.log(NaN<999); //false
    console.log(NaN===NaN);//false
</script>

总结:只有数字类型的特殊值NaN与自身比较的时候,是不等的。其余的特殊值比较的时候,是相等的。

其他类型的参与

字符串类型的参与:字符串与字符串比较,是通过ASCII码进行比较的。

通过从左到右,一个一个比较的。

<script>  
    console.log("2b" < "2c");  //true
    console.log("ac" > "ab");  //true
    console.log("我" > "学");  //true
</script>  

总结

a的ascll码是97,后面的字母加1就行了。

A的ascll码是65,后面的大写字母加1就行了。

如果是汉字的话,就先找到汉字的拼音。例如,我是wo,学是xue,w与x进行比较就能得出比较的结果。如果第一个字母一样,就用后面的字母比较。

3.赋值运算符

加赋值(+=)、减赋值(-=)、乘赋值(*=)、除赋值(/=)、余赋值(%=)

<script>  
    var a=1;
    a+=3;
    console.log(a);  //4
    a-=1;
    console.log(a);  //3
    a*=2;
    console.log(a);  //6
    a/=2;
    console.log(a);  //3
    a%=2;
    console.log(a);  //1
</script>  

4.逻辑运算符

逻辑运算符:与、或、非

与:相当于开关的串联,满足所有条件,才能运行。

或:相当于开关的并联,满足其中一个条件,就可以运行。

非:置反。表否定。

布尔类型参与逻辑运算

!true:取反之后,变成false

逻辑非运算符可以出现很多次。

<script>  
    console.log(!true);  //false
    console.log(!!true);  //true
</script>  

数字类型转换为布尔类型

<script>  
    console.log(Boolean(0));  //false
    console.log(Boolean(1));  //true
    console.log(Boolean(0+5));  //true
    console.log(Boolean(0-5));  //true
</script>  

总结:0是false,其他数是true

数字类型的特殊值参与逻辑运算

<script>  
    console.log(Boolean(NaN));  //false
    console.log(Boolean(NaN+1));  //false
    console.log(Boolean(Infinity));  //true
    console.log(Boolean(Infinity+1));  //true
</script>  

总结:NaN与其他数运算,返回false

infinity与其他数运算,返回true

其他类型参与逻辑运算

未定义类型:undefined

空对象类型: null

<script>  
    console.log(Boolean(undefined));  //false
    console.log(Boolean(null));  //false
    console.log(Boolean(undefined+1));  //false
    console.log(Boolean(null+1));  //true
</script>  

字符串参与逻辑运算

<script>  
    console.log(Boolean(""));  //false  因为空字符的值为0
    console.log(Boolean(""+1));  //true
    console.log(Boolean("学习"));  //true
</script>  

总结:空字符为false,非空字符为true

5.三目运算符

思路:

①先是声明一个分数变量,并且将66赋值给分数。

②三目运算判断:如果分数大于等于60,就返回及格;如果分数小于60,就返回不及格。

③声明一个值变量,并且将得到的返回结果赋值给值。

④打印值。

<script>  
    var score=66;
    var value=score>=60?"及格":"不及格";
    console.log(value);  
</script>  

总结

三元运算符的格式:A ? B : C

① A:它需要返回一个布尔值;其他类型也可以,只是需要隐式转换为布尔值。

② 如果A部分为真,就返回B;如果A部分为假,就返回C。

③ B与C:可以是任意类型的数值,或者是一些表达式。

④ 在实际的开发中,三元运算符会被经常用来赋值。


6.位运算符

把十进制转成二进制,进行运算,结果再转成十进制。

参考教程:https://www.w3school.com.cn/js/js_bitwise.asp

篇章

上一篇:js笔记3-变量和数据类型

下一篇:js笔记5-选择结构

推荐文章:JavaScript知识点1

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值