【JavaScript笔记】1.4 赋值 算数 比较 逻辑 三元 运算符 ++ +=

本文详细介绍了JavaScript中的各类运算符,包括赋值运算符、算数运算符、比较运算符、逻辑运算符及三元运算符,并通过实例展示了它们的具体用法。

js中的运算符与java中的运算符十分相似,用于将变量连接成语句。

1.赋值运算符

作用:对变量进行赋值。
用法:在js中使用(=)进行赋值。

方式:多种。可以在定义时赋值,可以再定义之后 另行赋值,还可以对多个变量连续赋值。

赋值运算符还可以与算数运算符、位运算符结合使用。称为 加强型赋值运算符。
常见的加强型赋值运算符如下:

这里写图片描述

1.4.2 算数运算符

算数运算符用于执行基本的数学运算。

除了加减乘除以外 ,需要注意的就是

%:取余,除法运算中的取余数。eg:1/6=0……1 那么1%6=1.取除法运算之后的余数。

++:自加,在原来的基础上加 1;

–:自减,在原来的基础上减 1。

其中需要注意的是:自加与自减为单目运算符,可以在操作数的左侧或者右侧。但是表达的含义不同。

a++:先取a的值,然后对变量a+1.
++a:先对变量a+1,然后再取a的值;

var a=0;
var b=a++;
document.write(b);
以上代码输出0;

var a=0;
var b=++a;
document.write(b);
以上代码输出1;

1.4.3 比较运算符

用于判断两个变量或者常量的大小,结果输出布尔值。

包括 > 、> = 、< 、< =、!=、==、!==、===

其中需要注意的是:

!=:不等于,符合返回true,否则返回false

==:等于,符合返回true,否则返回false

!==:严格不等于。 左右值不相等或者数据类型不相同时,返回true.,否则返回false

===:严格等于。值相等并且数据类型相等。符合返回true,否则返回false.

eg:var a=1,b=2.sum=a+b;
var c=“3”;
document.write(c!==sum);
输出结果是 true.
原因是c和sum虽然值相同,但是数据类型不同。

1.4.4 逻辑运算符

用于对布尔值的变量或者常量进行操作。

与(&&)两个操作数同时为true,结果为true,否则为false

或(| |)两个操作数同时为false,结果为false,否则为true、

非(!)只有一个操作数,操作数为true,结果为false.否则为true。

1.4.5 三元运算符

语法格式:

expression ?value1:value2

表达式expression的布尔值为true,执行value1,
表达式expression的布尔值为false,执行value2,

eg:

document.write(1>2?”1大于2”:“1不大于2”);

### JavaScript逻辑赋值运算符是否属于复合赋值运算符JavaScript 的最新版本(ES2021 及之后),引入了一组新的 **逻辑赋值运算符**,这些运算符包括 `&&=`、`||=` `??=`。它们的作用是在执行逻辑判断的基础上完成赋值操作。 #### 什么是复合赋值运算符? 复合赋值运算符是一种简化形式的赋值方式,它将某种运算的结果重新赋值给左侧的操作数。例如,`a += b` 是 `a = a + b` 的缩写[^4]。这种模式不仅限于算术运算,还包括按位运算其他特殊场景下的应用。 #### 逻辑赋值运算符的特点 以下是三种主要的逻辑赋值运算符及其行为: 1. **`&&=` 运算符** - 如果左操作数为真,则将其与右操作数计算后的结果赋值回左操作数。 - 否则保持原值不变。 2. **`||=` 运算符** - 如果左操作数为假,则将其替换为右操作数的值并赋值回去。 - 否则保留原始值。 3. **`??=` 运算符** - 类似于 `||=`, 不过它是基于“空值合并”的概念工作——即当且仅当左操作数是 `null` 或者 `undefined` 才会触发右侧表达式的评估并将结果赋值给目标变量。 从定义上看,这几种新加入的语言特性确实遵循了传统意义上的“复合”原则:即将某个特定处理过程封装到单一符号里以便更简洁地书写代码片段。因此可以说,尽管它们涉及到了布尔逻辑层面而非单纯的数学变换,但依然可以被视作广义上的复合赋值运算符类别的一部分[^4]。 ```javascript let x; x ||= true; // 等效于 x = (x || true); console.log(x); // 输出:true let y = false; y &&= 'hello';// 等效于 y = (y && 'hello'); console.log(y);// 输出:false 因为初始值已经是false所以不会改变 const z = null; z ??= 42; // 等效于 z = (z ?? 42); console.log(z); // 输出:42 ``` 综上所述,在现代 JavaScript 实现中,逻辑赋值运算符应当被认为隶属于复合赋值运算符家族的一员。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值