【发布时间】:2015-12-19 04:10:24
【问题描述】:
我正在使用百分比和setInterval(),所以我有一个
var intervalId;
function randomize(){
var prc = $("#prc").val();
var c = 0 ;
if (!intervalId){
intervalId = setInterval(function(){
c = c + 1;
var attempt = Math.random() * 100;
if (attempt <= prc){
clearInterval(intervalId);
intervalId = false;
$("#attemptnbr").val(c);
}
}, 100);
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
Percentage : <input type="text" id="prc"/>
<button onclick="randomize()">GO</button>
Number of attempts :<input type="text" id="attemptnbr"/>
但实际上如果用户将#prc 输入设置为50.345.34,attempt <= prc 条件总是返回true。
当此输入设置为50.345.34 之类的数字时,我尝试使用console.log(isNaN(prc)),它总是返回false。
为什么它被认为是一个数值?
【问题讨论】:
标签: javascript random numbers setinterval percentage