html中用js字符串相等比较,一个bug 引发的js 字符串大小比较的问题

一个bug 引发的js 字符串大小比较的问题

2019-12-30

编程之家

https://www.jb51.cc

编程之家收集整理的这篇文章主要介绍了一个bug 引发的js 字符串大小比较的问题,编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一个bug 引发的js 字符串大小比较的问题

这是由于一个bug引发的探索

首先看一下代码

function plus(){

var i=$('#number').html();

var left = $('#left').val();

console.log(('nummber:'+i+typeof(i)));

console.log('left:'+left+typeof(left));

console.log(i >= left);

if(i >= left){

return null;

}

$('#number').html(++i);

}

这个代码的作用是在购物车选择的时候确保所选数量不大于库存,

这个实现的方式是否优雅先不做考虑,现在来看一下问题,

使用jq 取值之后,这两个类型都是string类型的,这就造成了在比较的时候会出现一个严重的bug,在想象中应该是能够按照数字的形式进行比较的,但是其实是完全按照string类型的比较方式来进行的,这就会出现很多奇怪的情况,在设定最大值为一个数,不一定累加到什么时候就会出现错误的比较结果。

等之后有空的时候我再仔细研究一下js字符串的比较规则。

对类型进行强制转换就可以了,另一个方案是,去使用mvvm之类的框架来进行绑定,

最后安利

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值