### 算法1
```
function?uuid() {
????var?s = [];
????var?hexDigits =?"0123456789abcdef";
????for?(var?i = 0; i < 36; i++) {
????????s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
????}
????s[14] =?"4";??// bits 12-15 of the time_hi_and_version field to 0010
????s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);??// bits 6-7 of the clock_seq_hi_and_reserved to 01
????s[8] = s[13] = s[18] = s[23] =?"-";
????var?uuid = s.join("");
????return?uuid;
}
```
### 算法2
```
function?guid() {
????return?'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g,?function(c) {
????????var?r = Math.random()*16|0, v = c ==?'x'?? r : (r&0x3|0x8);
????????return?v.toString(16);
????});
}
```
### 算法3
```
function?guid() {
????function?S4() {
???????return?(((1+Math.random())*0x10000)|0).toString(16).substring(1);
????}
????return?(S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4());
}
```
### 算法4
```
function?uuid(len, radix) {
????var?chars =?'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');
????var?uuid = [], i;
????radix = radix || chars.length;
????if?(len) {
??????// Compact form
??????for?(i = 0; i < len; i++) uuid[i] = chars[0 | Math.random()*radix];
????}?else?{
??????// rfc4122, version 4 form
??????var?r;
??????// rfc4122 requires these characters
??????uuid[8] = uuid[13] = uuid[18] = uuid[23] =?'-';
??????uuid[14] =?'4';
??????// Fill in random data.? At i==19 set the high bits of clock sequence as
??????// per rfc4122, sec. 4.1.5
??????for?(i = 0; i < 36; i++) {
????????if?(!uuid[i]) {
??????????r = 0 | Math.random()*16;
??????????uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];
????????}
??????}
????}
????return?uuid.join('');
}
```
### 第5種
```
Math.random().toString(36).substring(3, 8)
```
- 學習網站
- iframe
- 跨域
- 渲染數據,防止內存泄漏
- 工具類
- 一般使用方法
- 獲取url(路由)參數
- HTML標簽轉義
- 轉義html標簽
- 加入收藏夾
- 提取頁面代碼中所有網址
- 動態加載腳本文件
- 返回頂部的通用方法
- 實現base64解碼
- 確認是否是鍵盤有效輸入值
- 全角半角轉換
- 版本對比
- 壓縮CSS樣式代碼
- 字符串長度截取
- 時間日期格式轉換
- 返回腳本內容
- 格式化CSS樣式代碼
- 獲取cookie值
- 獲得URL中GET參數值
- 獲取移動設備初始化大小
- 獲取頁面高度
- 獲取頁面scrollLeft
- 獲取頁面scrollTop
- 獲取頁面可視高度
- 獲取頁面可視寬度
- 獲取頁面寬度
- 獲取移動設備屏幕寬度
- 判斷是否移動設備
- 判斷是否是移動設備訪問
- 加載樣式文件
- 清除腳本內容
- 時間個性化輸出功能
- 金額大寫轉換函數
- 清除空格
- 隨機數時間戳
- 實現utf8解碼
- 返回字符串構成種類(字母,數字,標點符號)的數量
- 清除所有中文字符(包括中文標點符號)
- 清除所有中文字符及空格
- 校驗是否包含空格
- 校驗是否包含中文字符(包括中文標點符號)
- 校驗是否為網址
- 接成URL帶參數
- 獲取瀏覽器名稱
- 郵箱
- 手機號碼
- 根據url地址下載
- el是否包含某個class
- el添加某個class
- el去除某個class
- 獲取滾動的坐標
- 滾動到頂部
- el是否在視口范圍內
- 洗牌算法隨機
- 劫持粘貼板
- 嚴格的身份證校驗
- 隨機數范圍
- 將阿拉伯數字翻譯成中文的大寫數字
- 將數字轉換為大寫金額
- 檢測密碼強度
- 字符轉換首字大小寫
- 去除空格
- 最大值與最小值和平均值
- 函數節流器
- 16進制顏色轉RGBRGBA字符串
- 追加url參數
- base64文件轉文件和文件轉base64
- base64轉換為blob和blob轉換為file
- 生成 uid 或者 uuid 4種方法
- 正則
- 按復制快捷鍵或者右鍵復制
- 表情
- 獲取dom某個屬性上的值
- 獲取dom某個屬性的值
- 獲取系統
- 去除emoji表情符號
- 本地文件轉換 Bool url 訪問地址
- 禁止ios 擊穿后底部還能滑動
- 將數字負數轉換為字符串類型
- 將字符串類型數字判斷正負
- 判斷是否有小數點
- 判斷是否有科學技術法
- 去除0123字符串類型的數字
- 瀏覽器共享屏幕
- 兼容navigator.getUserMedia與AudioContext
- 音頻軌跡
- vue
- vue 技巧
- vue 2.xx 腳手架快速搭建環境
- vue 優化模塊
- css
- input或textarea_placeholder
- 布局巧
- form/formData
- form
- formData
- Visual-Studio-code
- VS Code
- vscode-fileheader 生成注釋
- View In Browser(右鍵瀏覽器預覽)
- Chinese (Simplified) Language(中文語音包)
- 北京地攤位置
- 輸入框使用第三方語音輸入文本問題
- adb 文檔
- serve后臺
- docker
- 介紹
- 安裝
- 常用命令
- mysql
- 安裝
- 破解Navicat Premium 無限試用
- 源碼技巧
- 實例化
- 判斷是否傳實例化對象
- 實例化構造函數
- ui 框架