js运算符

1. 四则运算±*/%

取模(取余数),开发中经常用于作为某个数字是否被整除。

求%应用场景:

  • 发牌案例
  • 倒计时效果
  • 查找水仙花数(一个三位数,每一位上数的立方和等于它本身)
  • 查找回文(正读和倒读是一样的 1221)
let a = 55 - 60 + 20;
let b = 12;
let c = 13;
let d = "12";
//比较> < >= <= 1=(等价于-不判断类型) !==(等价===判断类型的)
console.log(b > c); //false
console.log(b < c); //true
console.log(b != c); //true1og
console.log(b != d); //false
console.log(b !== d); //true

js 小数在某些情况下,显示的是一个无限接近的数。类似:switch语句中case后面的值不能是小数。

console.log(0.1 + 0.2); //0.30000000000000004

1.1. 练习

弹框录入一个 3 位数,求每一位上的数相加的和。

  • 解决方法一

    //录入数据
    let num = prompt("请输一个三位数");
    
    //求每一位上的数
    let ge = num % 10;
    let shi = parseInt(num / 10) % 10;
    let bai = parseInt(num / 100) % 10;
    
    console.log("每一位上的数之和是:" + (ge + shi + bai));
    
  • 解决方法二

    let num = prompt("请输入一个3位数");
    let sum = 0;
    sum += parseInt(num[0]);
    sum += parseInt(num[1]);
    sum += parseInt(num[2]);
    console.log(sum);
    

2. 自增自减运算符

在自身的基础上加 1 或者减 1,语法:变量++ 或者 变量--

++在前,先自增再运算。

++在后,先运算再自增。

2.1. 练习

//计算最终a的值和b的值
var a = 5;
var b = ++a + a-- + a++;

console.log(a, b); //6,17

3. 比较运算符

结果是 boolean 类型。

运算符作用
>左边是否大于右边
<左边是否小于右边
>=左边是否大于或等于右边
<=左边是否小于或等于右边
===左右两边是否类型都相等(重点)
==左右两边是否相等
!=左右值不相等
!==左右两边是否不全等

了解:

NaN 比较 六亲不认 它的比较没有意义。

console.log(NaN === NaN); //false
console.log(NaN !== NaN); //true

4. 逻辑运算

与:&&当且仅当两边都为 true 才返回 true,同真为真,一假为假。

或:||一边为 true,返回 true,一真为真,同假为假。

非:!取反,真变假,假变真。

let d = "12";
let e = 0;
console.log(e && d); //0
console.log(e || d); //12
console.log(!e); //true

4.1. 应用

择偶标准 年龄在 20-30 岁之间。

let age = 50;
console.log(20 < age < 30); //true 只判断前面的,后面忽略
console.log(20 < age && age < 30); //false

判断闰年

弹框录入一个年份,判断这个年份是否是闰年

  1. 能被 4 整除,不能被 100 整除
  2. 能被 400 整除
let year = +prompt("请输入一个年份");
let flag = (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
//   判断
if (flag) {
  alert(year + "年是闰年");
} else {
  alert(year + "年不是闰年");
}

4.2. 逻辑与短路问题

如果左边表达式不成立(已经确定了整个表达式是 false),右边就没有必要执行,就发生了短路,可以提高效率。

let num1 = 3;
let num2 = 4;
console.log(num1++ < 2 && num2++ > 3); //false
console.log(num1); //4
console.log(num2); //4  num2并没有参与运算

4.3. 逻辑或短路问题

如果左边表达式成立(已经确定了整个表达式是 true),右边就没有必要执行,就发生了短路,可以提高效率。

let num3 = 3;
let num4 = 4;
console.log(num3++ > 2 || num4++ > 3); //true
console.log(num3); //4
console.log(num4); //4  num4并没有参与运算

5. 基本赋值元素符

=赋值,=== 区别:

let num = 20;
console.log(num == 100); //false 比较运算符
console.log((num = 100)); //100 赋值运算符 最终结果是100(将100赋给num,然后再打印num的值)

6. 复合赋值运算符

+= 累加

-= 累减

*= 累乘

/= 累除

%=累取余

7. 三元表达式 a?b:c*

有三个元素参与元素。语法:表达式/变量a ? 表达式/变量b : 表达式/变量c

a 如果为 true,返回 b,否则返回 c

//使用三元求三个数的最大值
let n1 = 10;
let n2 = 30;
let n3 = 20;

//先求n1和n2最大值
let temp = n1 > n2 ? n1 : n2;
//再和n3进行比较
let res = n3 > temp ? n3 : temp;
console.log(res);
### JavaScript 运算符解释与使用 #### 关系运算符 关系运算符用于比较两个操作数之间的大小关系。常见的关系运算符有小于($lt)[^3]、大于($gt)、小于等于($lte) 和 大于等于($gte)。 例如,在数据库查询中可以找到年龄介于特定范围内的文档: ```javascript db.person.find({"age": {"$gt": 25, "$lt": 30}}) ``` 这会返回所有年龄严格大于25岁且严格小于30岁的记录。 #### 相等性运算符 相等性运算符用来判断两个值是否相同或不同。包括等于($eq)、不等于($ne)[^3]、属于某集合($in) 及完全匹配数组中的元素($all)。 比如查找年龄为25岁或35岁的人员信息: ```javascript db.person.find({age:{"$in":[25,35]}}) ``` 此命令将获取那些年龄恰好是25岁或是35岁的个体资料。 除了上述提到的关系和相等性运算符外,JavaScript还支持其他类型的运算符如逻辑运算符(&&, ||)、位运算符(&, | , ^ 等),以及赋值运算符(=)。对于更复杂的条件表达式,则可利用三元运算符来简化代码结构,其语法形式如下所示[^1]: ```javascript condition ? exprIfTrue : exprIfFalse; ``` 这种简洁的形式非常适合处理简单的分支逻辑,尤其是在事件处理器属性内编写少量代码时非常有用。 #### 函数定义及其应用 函数是一组执行特定任务的语句块;通过`function`关键字声明并赋予独一无二的名字加上圆括号里的参数列表构成。函数能够接收零个或多个输入参数,并对其实施各种计算最终给出一个输出结果。下面是一个简单加法函数的例子[^2]: ```javascript function addNumbers(x, y) { return x + y; } console.log(addNumbers(2, 3)); // 输出:5 ``` 这里展示了如何创建接受两个数值作为参数并将它们相加以得到总和的功能模块。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值