gpt4 book ai didi

javascript - 使用 parseInt() 将用户的 promt() 更改为数字的更好方法

转载 作者:行者123 更新时间:2023-11-28 13:22:05 27 4
gpt4 key购买 nike

我设置了一个函数来询问用户一系列数字,并给他们返回一个随机数。第一次尝试没问题。

// function settings
function getRandom(lower, upper) {
return Math.floor(Math.random()*(upper-lower+1))+lower;
}

// ask users to give a range of numbers
var lowerNum = parseInt(prompt("lower number?"));
var upperNum = parseInt(prompt("upper number?"));

document.write(getRandom(lowerNum, upperNum));

<小时/>不过,我认为最好将 parseInt() 放在函数内部,这样会更清晰、语义更清晰。

// function settings
function getRandom(lower, upper) {
lower = parseInt(lower);
upper = parseInt(upper);
return Math.floor(Math.random()*(upper-lower+1))+lower;
}

// ask users to give a range of numbers
var lowerNum = prompt("lower number?");
var upperNum = prompt("upper number?");

document.write(getRandom(lowerNum, upperNum));

两个代码块都可以做得很好并且得到相同的结果。但哪一种是更好的实践,甚至是运行程序时的性能?

最佳答案

使用任何对你来说更具可读性的东西,但如果你想压缩额外的性能,请尝试在其他地方进行清理,例如删除这两个临时变量,使用按位地板等......(看起来很丑,是的):

function getRandom(lower, upper) {
return (Math.random()*(upper-lower+1) | 0) + lower;
}

alert(getRandom(parseInt(prompt("lower number?"), 10), parseInt(prompt("upper number?"), 10)));

<小时/>

Performance tests

您会发现您的两种情况通常彼此接近,我的方法稍快一些,并且当您不解析整数时,您的速度会加快。

关于javascript - 使用 parseInt() 将用户的 promt() 更改为数字的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32216982/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com