JS之表达式与运算符2

赋值运算符

赋值运算符就是把  =   右边的值赋值给左边。

举一些例子:

但是呢,有一个特别需要注意的点:

赋值运算符之间不能有空格!!

        var x = 10;
        var y = 20;
        x += y;     //正确
        // 注意:赋值运算符之间不能加空格
        x + = y;    //错误

记住,这是错的!!

正确的写法应该是:

        var x = 10;
        var y = 20;
        x += y;     //正确
        // 注意:赋值运算符之间不能加空格
        x += y;    //正确

比较运算符

比较运算符常用在逻辑语句中使用,以测定变量或值是否相等。

比较运算返回一个boolean类型的值,满足条件返回true, 否则返回false。

 你们发现了没有,这个表格里有存在两个=,也有存在三个=的,怎么这两个还比一样的吗?

当然不一样!

==:表示两个值是一样的,不区分string类型和number类型(5==5同时5==“5”)

===:表示两个值不仅相等,他们的数据类型页数一样的(5===5,但是不满足5==="5")

同样,!=和!==也是不一样的

<script>
    console.log(10 == 10);    // 输出: true
    console.log(10 == 11);    // 输出: false

    console.log(10 == "10");  // 输出: true
    console.log(10 ==="10");   // 输出: false
</script>

逻辑运算符

  •  逻辑与(&&)                                                                                                                         表示“而且”的意思,属于短路运算。                                                                                           首先,当值为Boolean类型时:                                                                                                 判断第一个参数, 如果第一个参数为true, 则直接返回第二个数。
<script>
    console.log(true && true);    // 输出: true
    console.log(true && false);   // 输出: false
</script>

()里的数就是参数

   在这里第一个参数为true,那么不管第二个参数是什么,直接输出第二个参数

  如果第一个参数为false,则直接返回第一个数

<script>
    console.log(false && true);   // 输出: false
    console.log(false && false);  // 输出: false
</script>

当值为非Boolean类型时:

先判断第一个数, 如果第一个数为true, 则返回第二个数;

如果第一个参数为flase, 则直接返回第一个数。

注意: 值是否为true或false,是根据数值的隐式boolean转换而来的。

<script>
    var str = "hello" && "world";            // 输出: "world"

    var str = 0 && 2;                        // 输出: 0
    var str = "haha" && 4;                   // 输出: 4

    var str = "" && "hello";                 // 输出: ""

    var str = undefined && "name";           // 输出: undefined
    var str = "name" && undefined;           // 输出: undefined

    var str = "name" && NaN;                 // 输出: NaN
</script>
  • 逻辑或(||)表示“或者”的意思,属于短路运算。

当值为Boolean类型时:

判断第一个参数, 如果第一个参数为true,则直接返回第一个数

判断第一个参数, 如果第一个参数为false,则直接返回第二个数

<script>
    console.log(true || true);    // 输出: true
    console.log(true || false);   // 输出: true

    console.log(false || true);   // 输出: true
    console.log(false || false);  // 输出: false

</script>

总结: 逻辑或对于布尔值,只要有一个为true, 就返回true

当值为非Boolean类型时:

先判断第一个数,

如果第一个数为true, 则返回第一个数;

如果第一个参数为flase, 则直接返回第二个数。

注意: 值是否为true或false,是根据数值的隐式boolean转换而来的。

<script>
    var str = "hello" || "world";            // 输出: "hello"
    var str = null || undefined;             // 输出: undefined

    var str = 0 || 2;                        // 输出: 2
    var str = "haha" || 4;                   // 输出: "haha"

    var str = "" || "hello";                 // 输出: "hello"

    var str = "name" || undefined;           // 输出: "name"

    var str = "name" || NaN;                 // 输出: "name"
</script>

  • 逻辑非(!) 表示取反的意思

当值为Boolean类型时:

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

当值为非Boolean类型时:

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

    console.log(!"哈哈");                    // 输出: false
    console.log(!{});                        // 输出: false
    console.log(!3);                         // 输出: false

    console.log(!"");                        // 输出: true
    console.log(!0);                         // 输出: true
    console.log(!null);                      // 输出: true
    console.log(!undefined);                 // 输出: true
    console.log(!NaN);                       // 输出: true
</script>

它的值只有两个,要么是true,要么是false

  • 三目运算

三目运算语法:

条件表达式 ? 满足条件执行 : 不满足条件执行

就例如:

找出两个数中的最大值

<script>

    var max = a > b ? a : b;   //条件表达式为a>b 满足条件(a>b)时输出a 不满足条件(a<b)时输出b

    console.log("max: " + max);

    // 或者这样

    var value = a > b ? "最大值为: " + a : "最大值为: " + b;

    console.log(value);

</script>

总结:记住语法很重要!

  • 操作符优先级

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值