flymis/WebRoot/dojojs/src/uuid/LightweightGenerator.js

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

/*
	Copyright (c) 2004-2006, The Dojo Foundation
	All Rights Reserved.

	Licensed under the Academic Free License version 2.1 or above OR the
	modified BSD license. For more information on Dojo licensing, see:

		http://dojotoolkit.org/community/licensing.shtml
*/

dojo.provide("dojo.uuid.LightweightGenerator");

/*
 * summary:
 *   The LightweightGenerator is intended to be small and fast,
 *   but not necessarily good.
 * 
 * description:
 *   Small: The LightweightGenerator has a small footprint. 
 *   Once comments are stripped, it's only about 25 lines of 
 *   code, and it doesn't dojo.require() any other packages.
 *
 *   Fast: The LightweightGenerator can generate lots of new 
 *   UUIDs fairly quickly (at least, more quickly than the other 
 *   dojo UUID generators).
 *
 *   Not necessarily good: We use Math.random() as our source
 *   of randomness, which may or may not provide much randomness. 
 */
 
dojo.uuid.LightweightGenerator = new function() {
	var HEX_RADIX = 16;

	function _generateRandomEightCharacterHexString() {
		// Make random32bitNumber be a randomly generated floating point number
		// between 0 and (4,294,967,296 - 1), inclusive.
		var random32bitNumber = Math.floor( (Math.random() % 1) * Math.pow(2, 32) );
		var eightCharacterHexString = random32bitNumber.toString(HEX_RADIX);
		while (eightCharacterHexString.length < 8) {
			eightCharacterHexString = "0" + eightCharacterHexString;
		}
		return eightCharacterHexString; // for example: "3B12F1DF"
	}

	this.generate = function(/* constructor? */ returnType) {
		// summary: 
		//   This function generates random UUIDs, meaning "version 4" UUIDs.
		// description: 
		//   A typical generated value would be something like this:
		//   "3b12f1df-5232-4804-897e-917bf397618a"
		// returnType: The type of object to return. Usually String or dojo.uuid.Uuid

		// examples: 
		//   var string = dojo.uuid.LightweightGenerator.generate();
		//   var string = dojo.uuid.LightweightGenerator.generate(String);
		//   var uuid   = dojo.uuid.LightweightGenerator.generate(dojo.uuid.Uuid);
		var hyphen = "-";
		var versionCodeForRandomlyGeneratedUuids = "4"; // 8 == binary2hex("0100")
		var variantCodeForDCEUuids = "8"; // 8 == binary2hex("1000")
		var a = _generateRandomEightCharacterHexString();
后面还有 13 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。