javascript一些实用的方法

时间:2023-02-13 08:08:59

判断数据类型

 1 function isType(type) {
 2   return function(obj) {
 3     return {}.toString.call(obj) == "[object " + type + "]"
 4   }
 5 }
 6 
 7 var isObject = isType("Object");
 8 var isString = isType("String");
 9 var isArray = isType("Array");
10 var isFunction = isType("Function");
11 var isUndefined = isType("Undefined");
12 
13 //使用方法
14 isString('sss');   //true

判断是否是PC端

 1 function isPC() {
 2   var userAgentInfo = navigator.userAgent, Agents = ['Android', 'iPhone', 'SymbianOS', 'Windows Phone', 'iPad', 'iPod'],
 3        flag = true;
 4   for (var i = 0; i < Agents.length; i++) {
 5       if (userAgentInfo.indexOf(Agents[i]) > 0) {
 6          flag = false;
 7            break;
 8         }
 9     }
10     return flag;
11 }
12 
13 //使用方法
14 isPC();      //true为pc端

判断是否微信浏览器

1 function isWX() {
2   var ua = window.navigator.userAgent.toLowerCase();
3   return ua.match(/MicroMessenger/i) == 'micromessenger';
4 }
5 
6 //使用方法
7 isWX();    //true为微信浏览器

生成随机字符串(可指定长度,默认32)

 1 function randomNumber(len) {
 2     len = len || 32;
 3     var chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz12345678';    //默认去掉了容易混淆的字符
 4     var maxPos = chars.length,
 5         pwd = '';
 6     for (var i = 0; i < len; i++) {
 7         pwd += chars.charAt(Math.floor(Math.random() * maxPos));
 8     }
 9     return pwd;
10 }
11 
12 //使用方法
13 randomNumber(8);    //可用于文件路径随机数

生成唯一标识GUID(订单号等使用)

 1 function generateUUID() {
 2     var d = new Date().getTime();
 3     var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
 4         var r = (d + Math.random() * 16) % 16 | 0;
 5         d = Math.floor(d / 16);
 6         return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);
 7     });
 8     return uuid;
 9 };
10 
11 //使用方法
12 generateUUID();   //需要唯一标识时可用

-- 时间问题,待续 --