JavaScript基础知识学习笔记(四)

一、运算符

1.运算符的优先级

JavaScript中的运算符优先级可以决定表达式求值的顺序。下面是JavaScript中的运算符优先级,由高到低:

1.[]()括号

2.后置运算符(++、–):用于对变量进行自增或自减操作

3.一元运算符(++、–、+、-、!、~、typeof、void):用于对变量进行一元操作,如取反、取负、获取类型等。

4.乘性运算符(*、/、%)用于进行乘法、除法和取余操作

5.加性运算符(+、-)用于进行加法和减法操作。

6.位运算符(<<、>>、>>>):用于进行位移操作。

7.位运算符(&、|、^):用于进行位与、位或和位异或操作。

8."按位非"运算符(~):用于对数值进行按位取反操作。

9.比较运算符(<、>、<=、>=、in、instanceof):用于进行大小比较和类型判断

10.逻辑"与"运算符(&&):用于进行逻辑与操作。

11.逻辑"或"运算符(||):用于进行逻辑或操作。

12.三元条件运算符(?:):用于根据条件选择不同的值。13. 赋值运算符(=):用于将值赋给变量。

2.算术运算符

++自增  --自减  一元运算符

+ - * / %      二元运算符

    <script>
        let a = 10;
        let b = 20;
        let c = a + b;
        console.log(c); //30
        console.log(a - b, a * b, a / b); //-10 200 0.5
        console.log(a % b, 100 % 200, 9 % 3); //10 100 0
    </script>
    <script>
        let d = 10;
        d++; //d=d+1
        d--; //a++先赋值再自增,--a先自增再赋值
        ++d; //d=d+1
        --d;

        let g = 10;
        f = g++;
        console.log('g=' + g, 'f=' + f); //g=11  f=10
        let u = ++g;
        console.log('g=' + g, 'u=' + u); //g=12 u=12
        let g1 = 10;
        console.log(g1++, g1); //10 11
        console.log(++g1, g1); //12 12
    </script>
    <script>
        let a1 = 10,
            b1 = 2;
        a1 = a1++ + --a1 - b1-- + a1++ + ++b1 - --a1 - a1-- + a1++ + --b1;
        console.log(a1); //20
        console.log(b1); //1
    </script>
    <script>
        // 数字没有自增自减,变量才有
        console.log(+ +a); //10
        console.log(- -a); //10
    </script>

3.关系运算符

关系运算符有:==   ===   !=   !==;

== 相当于等于,在比较的时候会转数据类型,比较的两方只要数据一样即可;

===相当于全等(恒等),在比较的时候不会转数据类型,比较的两方必须类型和数据都一致才为真

<script>
let a=10;
let b=20;
let c=a>b;
console.log(c);//false

console.log(a<=b,8>=8);//true true

console.log(5=='5');//true

console.log(5=='5');//false
let d;
console.log(typeof d =='undefined')//true ,如果去掉引号则不等,因为typeof得到的undefined带引号;
console.log(5!=='5');//true
console.log(5!='5');//false
</script>
<script> 
//1.一边数字,一边字符串数字
console.log('5'>15);//false
//2.两边都是字符串
console.log('5'>'15');//true  字符串比较用Ascall码一位一位比,这里5第一位大于15
//3.
console.log('hello'>'world');//比较h和w的Ascall码大小 false
console.log('hello'=='world');//false
//4. null undefined NaN
console.log(NaN==NaN);//和谁都不等 false
console.log(NaN==undefined);//false
console.log(null==undefined);//true
console.log(null==0,null>-1); //false true
console.log(undefined==0,undefined>-2);// false false
console.log('5'==5);
console.log(''==false);//true;
console.log([]==[]);//false
console.log({}=={});//false



</script>

4.赋值运算符

赋值运算符有:= += -=  *= /=  %=;

赋值运算符将一个数值赋给一个变量,即 a = 10;则 10 赋值给 a,那么 a 的值为 10。

    <script>
    let a=10;
    let b=a;
    a+=10;//a=a+10;
    console.log(a);//20
    console.log(a-=5,a*=5,a/=10,a%=5);//15 75 7.5 2.5
    </script>

5.逻辑运算符

逻辑运算符有: && 逻辑与   ||逻辑或   !逻辑非(取反);

1.&& 

两个值中只要有一个值为false就返回false

只有两个值都为true时,才会返回true

短路逻辑:运算符两侧的操作数如果第一个操作数是假的话,后面的不再执行,直接返回

第一个操作数结果,如果第一个操作数是真的话则由第二个操作数来决定结果。

运算符两边的操作数如果有一个是布尔值,结果不一定是布尔值,可能是原值

2.||

两个值中,只要有一个true就返回true

如果两个值都为false,才会返回false

 js中的“或”是短路的“或”,如果第一个值是true,就不用看第二个值了

3.! 取反 ,!优先级高于&&高于||

        <script>
        // &&
        console.log(true && false); //false
        console.log(true && 8 > 5); //true

        //特殊情况
        console.log(true && 'hello' * 2) //NaN
        console.log(true && 8); //8

        console.log(false && 'hello' * 2); //false  短路逻辑不反回NaN
        console.log(undefined && 'hello' * 2); //Undefined  通过bollean转换得到的还是 
        undefined
        console.log(undefined && 'hello' * 2); //null 同上


        var a = 3 > 5 && 2 < 7 && 5 == 5;
        console.log(a); //false


        console.log([] && 100);
        </script>
        <script>
        console.log(true || 'hello' * 2); //true
        console.log({} || null); //{},手写的真假或者通过判断语句得到的真假才能得到真假,否则是 
        原值  
        </script>
        <script>
        //1.
        var a = 3 > 5 && 2 < 7 && 3 == 4;
        console.log(a); //false
        //2. 
        var b = 3 <= 4 || 3 > 1 || 3 != 2
        console.log(b);//true
        //3.
        var c = 2 === "2";
        console.log(c);//false
        //4.
        var d = !c || b && a;
        console.log(d);//true
        //5
        console.log(!8);//false
        
        </script>

6.条件运算符

条件运算符:又叫三元运算符,三目运算符,符号为 ?:

判断条件? value1:value2;

 let res= 若条件为真,则返回value1,否则value2

    <script>
        //五险一金  如果你的工资大于 7662,按7662*0.225 否则按工资*0.225
        let salary=prompt("请输入你的工资:")
        let wx=salary>7662?7662*0.225:salary*0.225;
        document.write('您需要交'+wx+'的五险一金');

    </script>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值