【发布时间】:2015-11-19 22:10:16
【问题描述】:
我设置了一个函数来询问用户一个数字范围,然后给他们一个随机数。第一次尝试没问题。
// 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));
两个代码块都可以做得很好并得到相同的结果。但是哪一个是更好的做法,甚至是运行程序时的性能?
【问题讨论】:
-
您的第一次尝试会更好。第二次尝试导致函数有两个职责,而不是一个。性能上的差异(如果有的话)几乎可以肯定可以忽略不计。
-
你为什么不测试性能并真正你告诉我们?
-
@Shomz 我是 Javascript 新手,对性能测试一无所知。所以我在写代码的时候期待一些建议。希望你能帮忙。
-
哦,我明白了,这是一个测试性能和分享结果的好网站:jsperf.com
标签: javascript performance math random parseint