1.underscore里面有一个方法_.random,定义如下:
// Return a random integer between min and max (inclusive). // integer : {-1,0,1} 负整数 、 0 、正整数 // https://zh.wikipedia.org/wiki/%E6%95%B4%E6%95%B0 // [x,y]包括y,注意与Math.random的区别_.random = function(min, max) { if (max == null) { max = min; min = 0; } return min + Math.floor(Math.random() * (max - min + 1)); };
再传入正整数的时候没有问题:
带入10,(max=10,min=0)
return 0 + Math.floor(Math.random()*(10-0)+1); return 0 + Math.floor( [0,1)*11 ); return 0 + Math.floor( [0,11) ); return 0 + [0,10]; return [0,10]
会生成一个0-10包括0,10之间的整数
但是如果传入一个-10(max = -10,min = 0):
return 0 + Math.floor(Math.random()*(-10-0)+1); return 0 + Math.floor( [0,1)* -9 ); return 0 + Math.floor( [0,-9) ); return 0 + [0,-9]; return [0,-9]
这样只会生成0,-9包括0,-9之间的整数,没有-10。
这样的话:
Return a random integer between min and max (inclusive) 返回一个min到max(包括)之间的一个随机整数
上面这句话就有问题了?负数的时候,无法生成最小的边界值。不知道我这样理解对不对,望指正
相关分类