提交 d5e8d07e 编写于 作者: M Mr.doob

Math: Optimised generateUUID: See #12432

上级 a4eef1a0
......@@ -11,35 +11,37 @@ var _Math = {
generateUUID: function () {
// http://www.broofa.com/Tools/Math.uuid.htm
// Replaced .join with string concatenation (@takahirox)
var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split( '' );
var uuid = new Array( 36 );
var rnd = 0, r;
return function generateUUID() {
var uuid = '';
for ( var i = 0; i < 36; i ++ ) {
if ( i === 8 || i === 13 || i === 18 || i === 23 ) {
uuid[ i ] = '-';
uuid += '-';
} else if ( i === 14 ) {
uuid[ i ] = '4';
uuid += '4';
} else {
if ( rnd <= 0x02 ) rnd = 0x2000000 + ( Math.random() * 0x1000000 ) | 0;
r = rnd & 0xf;
rnd = rnd >> 4;
uuid[ i ] = chars[ ( i === 19 ) ? ( r & 0x3 ) | 0x8 : r ];
uuid += chars[ ( i === 19 ) ? ( r & 0x3 ) | 0x8 : r ];
}
}
return uuid.join( '' );
return uuid;
};
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册