javascript复习第三天——运算符,unicode编码、运算符优先级

本文详细介绍了JavaScript中的赋值运算符、关系运算符、相等运算符及条件运算符的使用方法,包括它们的基本语法和一些特殊情况说明。

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

赋值运算符

+=:可以将符号右侧的变量的值赋值给符号左侧的变量

a+=5等价于a=a+5

-=、*=、/=、%=:原理都差不多

关系运算符

通过关系运算符比较两个值之间的大小关系。如果关系成立返回true,如果关系不成立,返回false

>:判断符号左侧的值是否大于右侧的值,如果大于则返回true,不大于则返回假

>=:大于等于

<:小于

<=:小于等于

原理跟数学的符号意思差不多

非数值的情况:

对于非数值进行比较时,会将其转换为数字,然后再比较。任何值和NaN做比较时都是false

如果符号两侧的值都是字符串时,不会将其转换为数字进行比较,而是会分别比较字符串中字符的unicode编码。比较两个字符串时,比较的是字符串的字符编码;比较时,是一对一的进行比较。如果上一个一样,就继续比较下一个,所以可以使用这个来进行英文排序(a-z)

如果是比较两个字符串型的数字,可能会得到不可预期的结果。

注意:在比较两个字符串型的数字时,一定要记得先转型再比较。

比如购物车内的物品数量,用户填的数量是字符串型的数字,如果限制用户添加的数量不能超过多少时,在进行比较时,就要先进行转型,

Unicode编码

在<script>标签中使用unicode编码:

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

格式:\u+四位编码(16进制的)

在网页中使用unicode编码:

格式:&#+编码(十进制)

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // 这里的编码是十六进制的
        console.log("\u2620");
    </script>
</head>

<body>
    <!-- 这里的编码是十进制的 -->
    <h1>&#2620</h1>
</body>

</html>

计算器的使用:设置成程序员模式:

HEX:是十六进制;DEC:十进制;OCT:八进制;BIN:二进制

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QQxCXl1e-1628067606956)(C:\Users\ltting\AppData\Roaming\Typora\typora-user-images\image-20210804155033590.png)]

相等运算符

用来比较两个值是否相等,如果相等则会返回true,否则返回false

==:相等运算,当两个值得类型不同时,则会自动进行类型转换,转换成相同的类型。大部分情况是转换成Number类型。只比较数值的大小,不比较数值的类型

可以通过isNaN()函数来判断一个值是否是NaN(非Number型),如果该值是NaN则返回true,否则返回false

!=:不相等运算,用来判断两个值是否不相等,如果不相等就返回true,相等就返回false。不相等运算也会对变量进行自动的类型转换,如果转换后相等它也会返回false

===:全等运算,判断两个数值是否全等(数据大小和数据类型),=类似,但是===不会自动进行类型转换,如果数据类型和数据大小都相等就返回true,否则就返回false

注意:

1.undefined衍生自null,所以这两个值进行相等比较时,会返回true。但是进行=全等比较时,返回的是false,因为两种类型不同。

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

!==:用来判断两个值是否不全等,和不等类似,但是他不会自动类型的转换,如果两个值得类型不同,直接返回true

条件运算符(三元运算符)

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

执行流程:

先判断条件表达式是否成立(true / false),

如果成立(true),则执行语句1,并返回执行结果;

如果不成立(false),则执行语句2,并返回执行结果

如果条件表达式的求值结果是一个非布尔值,会将其转换成布尔值然后再运算

**,**运算符

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

//可以使用,同时声明多个变量
var a,b,c;
//同时声明多个变量并赋值
var a=1,b=2,c=3;

运算符的优先级

优先级越高,越优先计算;如果优先级一样,则按照从左往右计算

去百度看优先级表

语句(statement)

js中的语句默认是从上往下一条一条的执行的;

可以用**{}**来为语句进行分组(只有分组作用,没有其他作用),{}中的语句,要么都执行,要么都不执行;

一个{}的中的代码语句称做一个代码块,在代码块后面不用加**;**,代码块里面的内容,在外部是完全可见的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值