use*_*299 4 javascript timestamp
我需要生成一个唯一的数字,以便在我的代码中使用.我使用
var id = new Date().valueOf()
Run Code Online (Sandbox Code Playgroud)
我知道上面的返回毫秒数.但值不是唯一的.例如:1385035174752.此数字生成两次或更多次.
我的问题是为什么它不是唯一的?以及如何从当前日期/时间获得唯一编号?
Rob*_*b W 10
如果您需要唯一性,请使用Math.random(),而不是任何Date()API.
Math.random返回一个介于0和1之间的整数.如果你真的想要一个基于当前时间的半唯一数字,你可以将DateAPI与Math.random.例如:
var id = new Date().getTime() + Math.random();
Run Code Online (Sandbox Code Playgroud)
在现代浏览器中,您也可以使用performance.now().此API保证每个新调用的返回值都是唯一的.