js中建立UUID
</pre><pre>
function UUID(){ this.id = this.createUUID(); } // When asked what this Object is, lie and return it's value UUID.prototype.valueOf = function(){ return this.id; }; UUID.prototype.toString = function(){ return this.id; }; // // INSTANCE SPECIFIC METHODS // UUID.prototype.createUUID = function(){ // // Loose interpretation of the specification DCE 1.1: Remote Procedure Call // since JavaScript doesn't allow access to internal systems, the last 48 bits // of the node section is made up using a series of random numbers (6 octets long). // var dg = new Date(1582, 10, 15, 0, 0, 0, 0); var dc = new Date(); var t = dc.getTime() - dg.getTime(); var tl = UUID.getIntegerBits(t,0,31); var tm = UUID.getIntegerBits(t,32,47); var thv = UUID.getIntegerBits(t,48,59) + '1'; // version 1, security version is 2 var csar = UUID.getIntegerBits(UUID.rand(4095),0,7); var csl = UUID.getIntegerBits(UUID.rand(4095),0,7); // since detection of anything about the machine/browser is far to buggy, // include some more random numbers here // if NIC or an IP can be obtained reliably, that should be put in // here instead. var n = UUID.getIntegerBits(UUID.rand(8191),0,7) + UUID.getIntegerBits(UUID.rand(8191),8,15) + UUID.getIntegerBits(UUID.rand(8191),0,7) + UUID.getIntegerBits(UUID.rand(8191),8,15) + UUID.getIntegerBits(UUID.rand(8191),0,15); // this last number is two octets long return tl + tm + thv + csar + csl + n; }; //Pull out only certain bits from a very large integer, used to get the time //code information for the first part of a UUID. Will return zero's if there //aren't enough bits to shift where it needs to. UUID.getIntegerBits = function(val,start,end){ var base16 = UUID.returnBase(val,16); var quadArray = new Array(); var quadString = ''; var i = 0; for(i=0;i<base16.length;i++){ quadArray.push(base16.substring(i,i+1)); } for(i=Math.floor(start/4);i<=Math.floor(end/4);i++){ if(!quadArray[i] || quadArray[i] == '') quadString += '0'; else quadString += quadArray[i]; } return quadString; }; //Replaced from the original function to leverage the built in methods in //JavaScript. Thanks to Robert Kieffer for pointing this one out UUID.returnBase = function(number, base){ return (number).toString(base).toUpperCase(); }; //pick a random number within a range of numbers //int b rand(int a); where 0 <= b <= a UUID.rand = function(max){ return Math.floor(Math.random() * (max + 1)); };
將以上js放入獨立的js檔案,檔名可以為UUID.js,
呼叫UUID.prototype.createUUID ();該方法將會返回一個32位的UUID值
相關推薦
js中建立UUID
</pre><pre>function UUID(){ this.id = this.createUUID(); } // When asked what this Object is, lie and return it's value
學習:JS中建立自己的物件和在定義中包含方法
1.建立自己的物件 要建立自己的物件例項,必須首先為其定義一個建構函式。建構函式建立一個新物件,賦予物件屬性,並在合適的時候賦予物件方法 // people 是有3個引數的構造器 function people(name, age, sex){ // 屬性:姓名
js中建立物件的5種方法
1、原始模式 var dog = { name: jack, length: 70, wang:function(){ console.log(this.name); } 2、工廠模式(批量) function creatdog
js中建立桌面網頁快捷方式程式碼
有些時候,我們編寫軟體需要建立桌面的快捷方式,有很多種方式實現,這裡有我測試過已經實現的js程式碼,程式碼如下: function toDesktop(sUrl, sName) { try { v
js中建立、新增、刪除、移動、複製和查詢(子)節點
1)建立新節點createDocumentFragment() //建立一個DOM片段createElement_x() //建立一個具體的元素createTextNode() //建立一個文字節點2)新增、移除、替換、插入appendChild() //新增removeC
js中生成uuid的程式碼實現,可以配合圖片驗證碼的校驗
generate_uuid:function () { var s = []; var hexDigits = "0123456789abcdef"; for (var i = 0; i < 36
js中建立物件的幾種方式
前言 不管是哪門語言,千變萬化不離其宗,深入理解其本質,方能應用自如。對應到js,閉包,原型,函式,物件等是需要花費大功夫思考、理解的。本文穿插了js原型和函式的相關知識,討論了批量建立物件的幾種方式以及它們的優缺點。 正文 說起建立物件,最容易想
node.js 中的package.json檔案和node_modules的怎麼建立?
轉自:https://www.cnblogs.com/xilego/p/6906601.html package.json檔案可以手工編寫,也可以使用npm init命令自動生成。 $ npm init 這個命令採用互動方式,要求使用者回答一些問題,然後在當前目錄生成一個基本的pack
js中函式物件建立的總結
在JavaScript的函式物件建立方法中,可以分為三種情況: 1:第一種是使用function語句定義函式 1 <script type="text/javascript"> 2 function fun1(){ 3 alert("我的第一個方法"); 4 } 5
1.JS 格式化日期 2.JS中使用new Date(str)建立時間物件不相容firefox和ie的解決方式
將 2018-11-08 17:51:51 轉化為 2018年11月08日 或者其他格式.. //時間格式化 function time_format (time, format){ con
js中陣列的建立和刪除
1、建立陣列 var array = new Array(); var array = new Array(size); //指定陣列的長度 var array = new Array(item1,item2……itemN); //建立陣列並賦值 2、取值、賦值 var item = array[
JS中的DOM操作怎樣新增、移除、移動、複製、建立和查詢節點
DOM操作怎樣新增、移除、移動、複製、建立和查詢節點? (1)建立新節點 createDocumentFragment() //建立一個DOM片段 createElement()
【學習筆記】六:面向物件的程式設計——理解JS中的物件屬性、建立物件、JS中的繼承
ES中沒有類的概念,這也使其物件和其他語言中的物件有所不同,ES中定義物件為:“無序屬性的集合,其屬性包含基本值、物件或者函式”。現在常用的建立單個物件的方法為物件字面量形式。在常見多個物件時,使用工程模式的一種變體。 1.理解物件 1)物件的屬性分兩種:資料屬性和訪問器屬性,每個型別的屬性都具有
js和jquery中建立標籤新增屬性的方法
js方式建立標籤及新增屬性 <script> var tr = document.getElementById('tr_id1') //根據id屬性獲取tr標籤 var t
node.js中通過dgram資料報模組建立UDP伺服器和客戶端
node.js中 dgram 模組提供了udp資料包的socket實現,可以方便的建立udp伺服器和客戶端。 一、建立UDP伺服器和客戶端 服務端: const dgram = require('dgram'); //建立upd套接字 //引數一表示套接字型別,'udp4'
JS中使用jquery方式建立名稱空間
以下示例將展示建立名稱空間的高階方式 JS將擁有私有和共有屬性和方法並且可以具有類似JAVA繼承的功能Here is their example showing how to declare private & public properties and
node.js中使用http模組建立伺服器和客戶端
node.js中的 http 模組提供了建立伺服器和客戶端的方法,http 全稱是超文字傳輸協議,基於 tcp 之上,屬於應用層協議。 一、建立http伺服器 const http = require('http'); //建立一個http伺服器 let server = h
js中如何建立變化的陣列名,以及根據動態陣列名,查詢陣列
理論上Javascript變數宣告是在編譯階段得到的,所以無法通過宣告變數名的形式進行儲存,但是可以儲存為物件的屬性,因為可以用obj[prop]的形式宣告變數。根據動態陣列名,查詢相應陣列。比如var
h5(H5)下載功能,用JS在瀏覽器中建立下載檔案
轉載:http://www.jb51.net/article/47723.htm 但受限於瀏覽器,很多情況下我們都只能給出個連結,讓使用者點選開啟-》另存為。如下面這個連結: 複製程式碼程式碼如下: <a href=”file.js”>file.js&
js中日期建立
var str ='2012-08-12 23:13:15'; str = str.replace(/-/g,"/"); var date = new Date(str ); javascript Date format(js日期格式化) http://blog.csdn.