【JavaScript教程】#5 JavaScript 值的比较 (教你使用比较符去比较两个值) | Introduction To JavaScript Comparison Operators
【JavaScript教程】#5 JavaScript 值的比较 (教你使用比较符去比较两个值) | Introduction To JavaScript Comparison Operators 我们的JavaScript教学今天来到了第四集,同学们看了前三集,觉得之前的教学对你有帮助吗?你们可以在下面的留言栏里告诉我,顺便也可以提提你们对学习JavaScript的意见。 今天的视频,我们来聊聊怎么在JavaScript里加减乘除。 ☕ ☕ ☕ 给我买杯咖啡提提神吧! ✅ https://bit.ly/3kCOpFK ✅ (免费) JavaScript教程系列: https://bit.ly/310cHle ✅ 更多精彩的JavaScript入门课程: http://bit.ly/js-for-beginners ✅ JavaScript相关书籍: 1:The Definitive Guide: Master the World's Most-Used Programming Language - 7th Edition (强烈推荐👍) https://amzn.to/31s30uH ✅(通告)”Codetisan 自学编程社区“ 已经正式开通啦,三人行必有我师,同学们再也不用独自一人闷头自学编程了,快去社区里和其他小伙伴们互动吧! ▶︎ https://bit.ly/2AHylzN 🔆订阅我的YouTube频道,让你从一个0基础编程的菜鸟快速成为编程大师!🔆 http://bit.ly/2TBkXo1 ▶︎ 文轩解码更精彩的平台 ◀︎ ‣‣ Blogger :https://bit.ly/2yMz0PC ‣‣ Twitter: https://bit.ly/2R74FS1 ‣‣ Facebook: https://bit.ly/35crcmz ‣‣ Instagram: https://bit.ly/2KH6Wjw ‣‣ Github: https://bit.ly/2SHtsx4 #javascript比较符号 #编程入门 #javascript入门
文字版内容:
Hi, 大家好,我是文轩
欢迎再次收看文轩解码
这是JavaScript编程教学的第五节课
如果你想和其他同学一起学习
和讨论JavaScript编程
可以扫描这个二维码
去到自学编程社区里一起互动
上期视频我们学习
怎么在JavaScript里加减乘除
这期视频我们就来说说
JavaScript怎么判断和比较两个值的大小
在数学课
如果我们要比较两个数值谁大谁小
常见的符号是小于
大于
小于等于
和大于等于符号
在JavaScript里
我们也可以做类似的比较
小于和大于符号是一样的
小于等于
和大于等于
则用这两个符号表示
这4种符号在JavaScript里我们统称
关系符号
relational operator
除了比较谁大谁小
我们有时候也需要JavaScript
替我们判断两个值是不是相等
在JavaScript
我可以使用这两种符号
相等符号 (Equal)
和严格相等符号(Strict Equal)
如果要判断两个值不相等
我们会使用不相等符号(Not Equal)
和 严格不相等值(Strict Not Equal)
等一下我会在实操部分
和同学们详细解说这四个符号的特性
使用这些比较符号做比较
JavaScript会给我们返回Boolean值
true或者false
好的,那现在我们进入实操的部分
今天我们直接在Console面板
给大家实操这几个比较符号
我们会针对同类型的数据作比较
比如数字对比数字
字符串对比字符串
我们还会比较不同类型的数据
像数字对字符串等等
我们先从简单的数字对比数字开始吧
我们可以这样对比两个数字
3是不是大于1
3是大于1的
返回的值是true
50小于10吗?
那肯定不对
所以会返回false
那看看 10 是大于 10吗
答案是false
这个好理解
10大于10是错的
所以返回false
我们在这里加个等于
10是不是大于等于10
答案是true
这个也很直观
每一个对比都会返回一个boolean值
我们可以把boolean值赋予一个变量
像这样
我们先声明一个变量isGreater
然后把 10大于1 返回的值赋予这个变量
isGreater的值是true
因为10是大于1的
接下来
我们对比字符串(string)
我们来看看a是否大于b?
答案是false
a比b小
字符串究竟是怎么对比的?
大家都很好奇对吧
这里简单的给同学们科普一下
电脑处理器只能处理数字
如果要处理文本
文本就必须转换成数字才能被处理
在文本转数字的过程
电脑需要遵循国际公认的字符编码
Character Encoding
JavaScript字符串是使用
Unicode(统一编码)进行编码的
在Unicode编码里
每一个字符(Character)都有对应的数字
小写a对应的数字是97
小写b是98
所以当我们执行这一行的时候
JavaScript是这样对比的
97 是否大于98
97大于98是错的
自然就会返回false
如果要更简单的理解
同学们可以把它想象成
字符是根据词典的顺序来对比
排在后面的字符大于排在前面的字符
c大于a
y大于c
以此类推
我们其实可以通过这个命令去检查字符对应的数字
如果我们对比的字符串超过一个字符
像这样
cat是否大于car?
JavaScript会逐字比较
先比较第一个字符
然后第二个字符
再到第三个字符
第一个字符和第二字符是相等的
第三个字符t是大于r
所以最后JavaScript判断cat是大于car
然后返回true值
刚才我们演示了同数据类型的对比
接下来
我们看看怎么对比数字(number)和字符串(string)
现在我们来对比数字10是否大于字符串20
10是数字
20是字符串
JavaScript不能直接对比数字和字符串
所以JavaScript会先把字符串20转换成数字
然后再对比
你可以把它想象成这样
Number()的功能是尝试把字符串转换成数字
数字10大于数字20是错的
所以会返回false值
那现在我们来对比10是否大于John
答案也是false
同学们能猜到为什么吗?
如果要对比数字和字符串
JavaScript会把字符串先转换成数字
像这样
我们先看看Number John返回的值是什么
Number John返回的值是Not A Number
因为John不是数字
没办法转换
所以只能返回Not A Number值
10大于NaN吗?
答案是false
因为NaN不是数字
数字对比非数字
JavaScript做不多
所以只能返回false
接下来
我们来说说JavaScript
要怎么判断两个值相等或者不相等
一般JavaScript比较可以分为两大类
抽象比较
abstract comparison
和 严格比较
strict comparison
抽象比较就像刚才我们演示的那样
会把字符串先转换成数字然后再作比较
严格比较有别于抽象比较
严格比较是不会做任何的类型转换
所谓严格
就是除了判断两个值是否一致以外
还要确定数据类型也是一致的
严格比较只适用于严格相等
和严格不相等这两种符号
只要你看到有三个符号
那就代表这是严格比较
其他的符号都是抽象比较
之前演示过了关系比较符
现在我们来演示一下抽象相等和严格相等
假设我们要判断数字10和数字2是否相等
我们可以这样表示
答案肯定是false
因为数字10不等于数字2
如果把数字2换成字符串10呢?
你们猜猜答案是什么?
左边是数字
右边是字符串
两个等于符号代表这是抽象比较
所以JavaScript需要先把字符串转换成数字
所以最终会变成这样
10等于等于10
答案是true
因为数字10是等于数字10
我们尝试把2个等于符号换成3个等于
之前我们说过
一旦看到3个等于符号
那就代表这是严格比较
严格比较是不会做任何的数据类型转换
它只会比较值和数据类型是否相等
首先JavaScript会检查这两个值的数据类型
如果数据类型不一样就会直接返回false
所以这个比较会返回false值
如果我们把字符串10换成数字10
2个值的类型都是数字
所以接着会判断这两个值是否相等
很明显
数字10和数字10是相等的
所以会返回true值
刚才演示过了相等符号
现在我们来看看不相等符号
假设现在我们要判断
数字10和数字20是否不相等
可以这样表示
数字10
感叹号
等于
数字20
这是抽象比较
中间有两个等于符号
两边都是数字
所以不用转换类型就可以直接比较
10不等于20是对的
JavaScript会返回true
把数字20换成字符串20看看
因为这是抽象比较
所以字符串会先被转换成数字
然后才比较
这个比较会返回true
因为数字10和转换成数字的20是不相等的
我们再把抽象不相等换成严格不相等
在后面这里加一个等于符号
这个数字10和字符串20
不管是值和数据类型都不一样
所以它们俩是不相等的
会返回true值
如果我们把字符串20换成数字10呢?
能猜到这个对比的结果吗?
数字10严格不等于数字10
这是错的
因为数字10是严格等于数字10
所以会返回false
我们来总结一下
第一
JavaScript值的比较始终返回boolean值
true或者false
第二
字符串的比较是根据Unicode编码的顺序
也可以理解为词典的顺序
c大于b
y大于c
以此类推
第三
值在进行不同数据类型比较的时候
它们必须被转换成数字才能进行比较
像字符串对比数字
字符串会先被转换成数字才进行对比
第四
JavaScript值的比较主要分为两大类
抽象比较和严格比较
严格比较由三个符号组成
其他比较均为抽象比较
严格比较除了对比值(value)
也会对比数据类型(data type)
严格比较不会做任何的数据转换
抽象比较则会在对比前对值进行数据类型转换
第五
尽量使用严格比较做相等和不相等的对比
这样能免去很多你意想不到的bug
除非你知道自己在干嘛
接下来
给你们出3道题
看看能不能破解这期的任务
你可以把答案发到自学编程社区里
或者直接在视频下方留言也可以
答案会在下周三公布
今天的分享就到这里
如果还有其他的问题
欢迎在留言栏里提问
喜欢这个视频的话
就帮忙点个赞吧
那我们下期见,拜拜!
How do I make money from casino games? - WorkMaker Money
ReplyDeleteIf you want to make money from a 바카라사이트 casino game, then หารายได้เสริม it is important to find a game you can play. How 메리트 카지노 do I make money from a casino game?