GUID (Глобальный унифицированный идентификатор) относится к числу, генерируемому на машине, что гарантирует, что он уникален для всех машин в одном и том же пространстве и времени. Обычно платформа предоставляет API для генерации ГПИД. Алгоритм генерации очень интересен, используя адрес карты Ethernet, наносекундное время, идентификационный код чипа и множество возможных чисел. Единственным недостатком GUID является то, что сгенерированная строка результатов будет относительно большой.
Формат GUID: xxxxxx-xxxx-xxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxX
Все знают, что GUID не очень полезен в фронтальной разработке, но если вам нужно вставить идентификатор, и этот идентификатор соответствует фону и т. Д., Мы все равно можем генерировать GUID для удобства.
Как правило, очень просто сгенерировать гииды на фоне или языках базы данных, таких как SQL, Java, C#и т. Д., Но на переднем конце нет метода для непосредственного создания ГПВ, так что вы можете написать только один самостоятельно. Однако, поскольку GUID необходимо для получения адреса карты Ethernet и времени в наносекундах. Трудно получить эту информацию с передней части (пожалуйста, скажите мне, если вы знаете о детской обуви), и мы можем имитировать реализацию и генерировать GUID, код выглядит следующим образом:
/*
* Функция: генерируйте код GUID, где GUID состоит из менее 14 дат и времени и более 18 шестнадцатеричных случайных чисел. GUID имеет определенную вероятность повторения, но вероятность повторения чрезвычайно низкая. Теоретически, вероятность повторения составляет 1/(16^18) на 10 мс, то есть 1 часть к мощности 16, а вероятность повторения такая же низка, как и незначительное*/
function guid () {this.date = new Date ();/* определить, инициализирована ли она. Если следующий код инициализирован, следующий код больше не будет выполняться. Фактически, он будет выполнен только один раз*/if (typeof this.newguid! = 'Function') {/*генерировать код GUID*/guid.prototype.newguid = function () {this.date = new Date (); var guidstr = ''; sexadecimaldate = this.hexadecimal (this.getGuidDate () 16); this.hexadecimal (this.getguidtime (), 16); для (var i = 0; i <9; i ++) {guidstr += math.floor (math.random ()*16) .tostring (16);} guidstr += sexadecimaldate; guidstr += sexadecimaltime; while (guidstr.length <32) {guidstr += math.floor (math.random ()*16) .tostring (16);} вернуть это. Форматгид (Guidstr);}/** Функция: Получить формат GUID в текущую дату, то есть дата 8-дигита: 19700101*Возвращение: возвращайте значение. function () {return this.date.getbleear () + this.addzero (this.date.getmonth () + 1) + this.addzero (this.date.getday ());}/** Функция: Получите формат GUID текущего времени, то есть, 8-дигита, включая Milliseconds, Milliseconds-2-й, знаменит. Format*/guid.prototype.getGuidtime = function () {return this.addzero (this.date.gethours ()) + this.addzer (this.date.getminutes ()) + this.addzero (this.date.getseconds ()) + this.addzer (parseint (this.date.geteconds; Функция: Добавьте 0 в положительное целое число единой цифры. Если это строка, которая может быть преобразована в номер не на NAN, она также может быть реализована. Параметры: параметры указывают на то, что число, которое готово добавить до или строку, которая может быть преобразована в число* возвращаемое значение: если условие выполняется, верните тип строки после добавления 0, в противном случае он вернет свою собственную строку*/guid.prototype.addzero = function (num) {if (num). Math.floor (num);} else {return num.toString ();}}/** Функция: преобразование значения y-цифры в значение x-цифры* Параметры: первый параметр представляет значение, которое будет преобразовано; Второй параметр представляет частицу, которая должна быть преобразована; Третий параметр является необязательным, представляющий текущий номер частицы частицы, если не записано, это 10* возвращаемое значение: вернуть преобразованную строку*/guid.prototype.hexadecimal = function (num, x, y) {if (y! = undefined) {return parseint (num.toString (), y) .toString (x); parseint (num.toString ()). ToString (x);}}/** Функция: форматируйте 32-разрядную строку в строку в режиме GUID* Параметры: Первый параметр представляет 32-битную строку* возвращаемое значение: строка в стандартном формате GUID*/GUID.Prototype.formatGuid = function (guidStr) {var str1 = Guider.Slice (0, 8). Guidstr.Slice (8, 12) + '-', str3 = guidstr.slice (12, 16) + '-', str4 = guidstr.slice (16, 20) + '-', str5 = guidstr.slice (20); вернуть str1 + str2 + str3 + str5;Guid объект
Просто сохраните его в файле JS и ссылайтесь на него.
Тогда нам просто нужно
var guid = new guid ();
Alert (guid.newguid ());
Вы можете получить код GUID.
Принцип реализации очень прост. Здесь мы просто используем системное время и более 18 шестнадцатеричных случайных чисел и преобразуем системное время в шестнадцатеричную. Хотя это все еще можно повторить, вероятность повторения чрезвычайно низкая и может быть проигнорирована.