JS运算符

本文介绍了JS运算符的不同类型及特点。算术运算符与字符串相加会拼串,和NaN运算结果为NaN;逻辑运算符遵循短路运算;关系运算符比较字符串时比Unicode编码,引入了新的关系运算符 === 与 !==,比较时会考虑值的类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JS运算符

所有语言的运算符大同小异,这里只说不同点。

一.算术运算符

与字符串做加法,非字符串会转换为字符串,然后进行拼串操作。

如果运算时不存在字符串,则转换为Number进行运算。

任何值与NaN做算术运算结果都为NaN。

+(正号)对于非数字,先转换为数字。

二.逻辑运算符

JS的逻辑运算符运算时,遵循短路运算

JS的逻辑表达式运算后的结果:

运算时,转换为布尔值,运算结果为直到可以确定逻辑表达式真假的时候的值。

举个例子:

var a = 1 && 2;
console.log(a);

结果a的值为2,运算时,1被转换为布尔值true,进行与运算,当前条件还不足以确定该逻辑表达式的值,因此会继续运算。

var a = 0 && 1;
console.log(a);

这次,a的值为0,0被转换为布尔值false,进行与运算,现在就可以确定逻辑表达式为假,所以逻辑表达式的值就为当前的0。

三.关系运算符

  1. 如果关系运算符两边的值都是字符串,则依次比较每一个字符的Unicode编码。(类似于C中的strcmp()函数)
  2. 如果关系运算符两边不全为字符串,基本类型转换为字符串,对象则使用它的引用(地址)作比较。说白了,比较栈内存的东西
  3. 任何值于NaN做关系运算都为false,NaN == NaN也是false。
  4. null == undefined的值为true

引入两个新的关系运算符:=== 与 !==

比较时,首先会比较两边值的类型,如果类型相同才会比较值,也就是说,值的类型也参与比较。

### 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、付费专栏及课程。

余额充值