Skip to content

Instantly share code, notes, and snippets.

@paranoidjk
Last active November 18, 2016 05:22
Show Gist options
  • Save paranoidjk/d72a3170b2cdae8dca9073b5fbafe032 to your computer and use it in GitHub Desktop.
Save paranoidjk/d72a3170b2cdae8dca9073b5fbafe032 to your computer and use it in GitHub Desktop.
formatter of javascript
// 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, '&lt;');
return p.textContent || p.innerText || '';
};
}());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment