5大于10! JS 比较判断的总结

   众所周知,JS是一种弱类型的语言,在比较大小的时候对于比较值的类型的类型十分宽松,所以如果对于概念不是深入理解的话,经常会出现一些匪夷所思的错误。比如说:

>   1 < 2
\<   ture

  这是数的比较,十分容易理解,再比如数与字符串的比较:

>   1 < “2”
\<   ture

  因为JS会在比较的时候把判断符两端的值转换为相同的类型后在判断,再看一下以下示例:

>   “1” < “2”
\<   ture

  也许你会说,1 > 2 这还用你说吗?这肯定是对的啊!到底有没有干货啊!那么请再看一下以下示例:

>   “5” < “10”
\<   false

  什么?返回的不是ture吗?是的,你没有看错,5的确大于10了,JS没有按照基本法来。或者说JS没有按照大家印象里的基本法来。

JS  :"5"为什么要小于"10"?   
小明: 5当然小于10 。我小学体育老师都知道!
JS  :但这是字符串 "5" 和 "10" 啊!
小明:字符串了不起啊,JS会自动转类型啊!
JS  :字符串在什么条件下自动转类型?
小明:纳尼?等等。。

  是啊,JS会在比较的时候把判断符两端的值转换为相同的类型后再判断。但如果类型已经相同呢?那还转个毛啊!!所以( “5”<”10” ) 比较的不是数值,而是字符串!

小明:字符串怎么比?请问还按基本法吗?
JS  : 拿头比!
小明:黑人问号???

  拿头比怎么比?以( “5”<”10” )为例,从左往右开始,5小于1?肯定不啊,好,左边比右边大,值为false,答问收工。纳尼??恩,基本法就是这样。再来:(“ABCD”<”ACAA”),好,从左往右,A等于A,嗯下一个,B小于C,恩,右边大,值为true,答完收工。所以说,”9”比”8999999999”都大?是滴,就是这样。

小明:。。。JS好恶心。。。
JS  : 这锅我不背。 
小明:嘿嘿嘿
JS  : 好诡异的笑容,你想干哈?
小明:数字1和字符串"a"怎么比啊?  1 < "a" ?
JS  : 你试试啊!
小明:试试就试试,我擦,怎么全是false;true被你吃了啊?
JS  : 因为字符串"a"转不成数字啊
小明:转不成数字你倒是转ascii码啊?
JS  :但是1是数字不是字符串啊,不能转ascii码,我要一视同仁!
JS  : 我反问一句,这要是可以,1<"abc" 怎么比?"abc"转ascii码是多少?
小明:转就转,97,算的是头一个字符,想唬我,没那么容易!想想JS还真是不靠谱!
JS  : 不按基本法来,臣妾真的做不到啊!

  好了,是时候总结一波了。JS在做比较的时候,会先尝试把两边转为相同类型,如果不行就怎么比都是错,如果都是字符串,就从左到右按字符的ascii码,只要不同就是整个表达式的值。恩,简单无脑暴力一波带走。。。。
  文章有错还请不吝指教!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript中,可以使用switch语句来对学生成绩进行判断。switch语句是一种条件语句,它根据表达式的值匹配不同的情况,并执行相应的代码块。 首先,我们需要一个表达式来表示学生成绩,例如一个变量grade。然后,我们可以使用switch语句对不同的情况进行判断,并执行相应的代码块。 例如,我们假设学生成绩的范围是0到100,可以将这个范围划分为不同的等级,如A、B、C、D和E,分别表示优秀、良好、中等、及格和不及格。 下面是一个使用switch语句对学生成绩进行判断的示例: ```javascript var grade = 85; switch (true) { case grade >= 90: console.log("成绩等级为A"); break; case grade >= 80: console.log("成绩等级为B"); break; case grade >= 70: console.log("成绩等级为C"); break; case grade >= 60: console.log("成绩等级为D"); break; default: console.log("成绩等级为E"); } ``` 在上面的示例中,我们使用switch语句来对grade的值进行多个判断。表达式为true,表示我们将对每个case语句中的条件表达式进行判断。 根据不同的条件,当grade大于等于90时,输出"成绩等级为A";当grade大于等于80时,输出"成绩等级为B";当grade大于等于70时,输出"成绩等级为C";当grade大于等于60时,输出"成绩等级为D";否则,输出"成绩等级为E"。 总结起来,switch语句可以根据不同的条件对学生成绩进行判断,并执行相应的代码块。通过合理设置条件和输出的信息,我们可以根据学生成绩给予相应的评级。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值