首页 > 其他 > 详细

挺有意思的一个bug

时间:2014-06-29 00:55:12      阅读:390      评论:0      收藏:0      [点我收藏+]

偶遇一奇怪的bug,型如$("tt").html("<div>"+0||Math.floor(Math.random()*100))+"</div>")

这个东西出现一个截取问题,看起来挺长的,实际上结果只有$("tt").html("<div>"+0)的结果,后面被截取了,想了半天有点云里雾里的,其实这就是一个细节的问题,或运算有个特点,是只要前部分为true结果就为true了,则不再执行后面的部分,而这个正常逻辑看来应该是先执行0||Math.floor(Math.random()*100)),,但是恰好相反,不但没有执行这个,还将它的0分出来了,结果就成了"<div>"+0   这个因为是字符串,在javascript里是认为是true的,于是返回了这个东西,没有达到原先的需求,只需要做一点改进,就是将0||Math.floor(Math.random()*100))加上()就可以改变执行顺序,从而达到先前的要求

挺有意思的一个bug,布布扣,bubuko.com

挺有意思的一个bug

原文:http://www.cnblogs.com/caigen029/p/3793998.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!