javascript运算符

本文详细介绍了JavaScript中的运算符,包括算数运算符(如加减乘除)、一元运算符、自增自减、逻辑运算符、关系运算符、相等运算符和条件运算符的用法及其优先级。特别关注了类型转换和特殊案例,如NaN处理。

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

目录

运算符

算数运算符

一元运算符

自增和自减

逻辑运算符

赋值运算符

关系运算符

相等运算符

条件运算符

补充

运算符的优先级

Unicode编码



运算符

运算符也叫操作符,通过运算符可以对一个或多个值进行运算,并获取运算结果。

算数运算符

算数运算符
-
*
/
%取模运算(取余数)

1、当对非Number类型的值进行运算时(除过字符串的加法运算),会将这些值转换为Number然后再运算。(任何值做- * / 运算时都会自动转换为Number,利用此特点做隐式的类型转换,通过为一个值- 0 *1  /1来将其转换为Number,实际上它也是调用Number()函数,但是更方便)

           

2、任何值和NaN运算都得NaN。

3、字符串相加为拼接操作。(可以利用此对长字符串换行输入)

                                                                

4、任何值和字符串相加都会先转换成字符串,再进行拼接。

           利用此将一个任意数据类型转换为String

           为任意的数据类型 + 一个空串""即可进行转换

           这是一种隐式的类型转换,由浏览器自动完成,实际上它也是调用String()函数

   

一元运算符

只需要一个操作数的运算符

一元运算符
+正号
负号

对非Number类型的值进行运算时,同样会将这些值转换为Number然后再运算。(任何值做运算时都会自动转换为Number,利用此特点,为一个值使用+,来将其转换Number)

          

自增和自减

自增++

  •  通过自增可以使变量在自身的基础上增加1
  •  一个变量自增以后,原变量的值会立即自增1
  •  自增分为两种,后++(a++)和前++(++a)

            a++的值等于原变量的值(先运算再+1)

            ++a的值等于自增后的值(先+1再运算)

            

自减--

  •  通过自减可以使变量在自身的基础上减少1
  •  一个变量自减以后,原变量的值会立即自减1
  •  自减分为两种,后--(a--)和前--(--a)

            a--的值等于原变量的值(先运算再-1)

            --a的值等于自增后的值(先-1再运算)

逻辑运算符

            对布尔值操作                                     对非布尔值操作
!取反true变false,false变true先将其转化为布尔值,再进行取反操作
&&与遇到false即结束返回false,全为true才会返回true先将其转化为布尔值,再进行运算,并且返回原值,判断在哪结束返回哪个值的原值(结果false返回第一个false的原值,结果为true返回最后一个值的原值。)
||或遇到true就结束并返回true,全为false才会返回false先将其转化为布尔值,再进行运算,并且返回原值,判断在哪结束返回哪个值的原值。

对非Boolean类型的值进行取反运算时,会将数据类型转换为Boolean然后再运算。利用此特性,两次取反,将任意数据类型转换为布尔值。原理同Boolean()函数一样。

           

代替if语句的用法

      &&操作,第一个值为false,不会检查第二个值,为true时才会检查。

         

     ||操作,第一个值为true,不会检查第二个值,为false时才会检查。

         

 对非布尔值进行&&||运算,先转换为布尔值进行运算,结果返回原值。

        

赋值运算符

赋值运算符
=符号右侧的值赋值给符合左侧的变量
+=a = a + 5可以简写成  a += 5
-=a = a - 5可以简写成  a -= 5
*=a = a * 5可以简写成  a *= 5
/=a = a / 5可以简写成  a /= 5
%=a = a % 5可以简写成  a %= 5

关系运算符

关系运算符
>
>=
<
<=

  • 通过关系运算符可以比较两个值之间的大小关系,如果关系成立它会返回true,反之返回false。
  • Number与非Number之间的运算,对于非Number类型的数据,会先转换为Number再进行比较。
  • NaN与任何值做任何比较,都会返回false。
  • 如果符号两侧的值都是字符串,比较的是字符串的unicode编码,逐位进行比较。

                    利用此特性可以对英文进行排序,比较中文没有意义。

                    比较两个字符串型的数字时,一定要转型,否则比较的是Unicode编码。

相等运算符

==相等

相等运算符用来比较两个值是否相等,如果相等返回true,否则返回false。

如果值的类型不同,则会自动进行类型转换,将其转换为相同的类型(一般转Number),然后再比较。

undefined衍生自null,所以这两个值做相等判断时,会返回true。

NaN不和任何值相等,包括他本身。

!=不相等

不相等运算符用来比较两个值是否不相等,如果不相等返回true,否则返回false。

 如果值的类型不同,则也会自动进行类型转换,将其转换为相同的类型,然后再比较。

===全等

和相等类似,不同的是不会转换数据类型,类型不同直接返回false。

undefined和null相等但不全等。

!==不全等和不等类似,不同的是不会转换数据类型,类型不同直接返回true。

 补充: 判断一个值是否为NaN,调用isNaN()函数来判断。如果该值是NaN则返回true。

                 

条件运算符

条件运算符也叫三元运算符

语法:条件表达式?语句1:语句2;

执行流程:

          首先对条件表达式进行求值, 如果求知结果为非Boolean值,会先将其转换为Boolean值。

              如果该值为true,则执行语句1,并返回执行结果。

              如果该值为false,则执行语句2,并返回执行结果。

补充

运算符的优先级

运算符

使用可以分割多个语句,一般可以在声明多个变量时使用

在js中有一个运算符优先级的表

    在表中越靠上优先级越高,越优先计算,如果优先级一样,则从左往右计算。

    可以使用()改变优先级。

Unicode编码

js中在字符串中使用转义字符输入Unicode编码

     \u四位编码

      例子:console.log("\u2620");

html网页中使用Unicode编码,需要的是十进制 

     &#编码;

      例子: <h1>&#9760;</h1>

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

余额充值