Last active
November 18, 2016 05:22
-
-
Save paranoidjk/d72a3170b2cdae8dca9073b5fbafe032 to your computer and use it in GitHub Desktop.
formatter of javascript
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// refer: http://frontenddev.org/column/one-line-of-code/ | |
// 千位分隔符 | |
var format = function (number) { | |
return String(number).replace(/(\d)(?=(\d{3})+$)/g, '$1,'); | |
}; | |
if ('ontouchend' in document.body) { | |
// 移动端 | |
} | |
if (/mobile/i.test(navigator.userAgent)) { | |
// 移动端 | |
} | |
function getIeVersion() { | |
var v = 3, | |
p = document.createElement('p'), | |
all = p.getElementsByTagName('i'); | |
while ( | |
p.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->', | |
all[0]); | |
return v > 4 ? v : 0; | |
} | |
// 返回 0 表示非 IE 浏览器,返回其他表示当前 IE 版本号。 | |
var ieVersion = getIeVersion(); | |
# 判断当前浏览器版本是否大于 IE 6 | |
<!--[if gt IE 6]>只在 IE 6 以上版本显示<![endif]--> | |
var randomColor = function () { | |
return '#' + Math.random().toString(16).substr(2, 6); | |
}; | |
var abbr = function (number) { | |
var abbrList = ['', 'K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y']; | |
var step = 1000; | |
var i = 0; | |
var j = abbrList.length; | |
while (number >= step && ++i < j) { | |
number = number / step; | |
} | |
if (i === j) { | |
i = j - 1; | |
} | |
return number + abbrList[i]; | |
}; | |
/** | |
* 判断数据类型 | |
* @param obj {*} 任何数据 | |
* @returns {string} | |
*/ | |
var typeis = function (obj) { | |
var udf = 'undefined'; | |
if (typeof obj === udf) { | |
return udf; | |
} else if (typeof window !== udf && obj === window) { | |
return 'window'; | |
} else if (typeof global !== udf && obj === global) { | |
return 'global'; | |
} else if (typeof document !== udf && obj === document) { | |
return 'document'; | |
} else if (obj === null) { | |
return 'null'; | |
} | |
var ret = Object.prototype.toString.call(obj).slice(8, -1).toLowerCase(); | |
if (isNaN(obj) && ret === 'number') { | |
return 'nan'; | |
} else if (/element/.test(ret)) { | |
return 'element'; | |
} | |
return ret; | |
}; | |
/** | |
* 解码 html 实体符 | |
* @param str {String} html 实体符 | |
* @returns {String} | |
*/ | |
var unescapeHTML = (function (str) { | |
var p = document.createElement('p'); | |
return function (str) { | |
// 处理掉 < 符号,防止 html 标签(如:<a>)被过滤 | |
p.innerHTML = (str + '').replace(/</g, '<'); | |
return p.textContent || p.innerText || ''; | |
}; | |
}()); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment