这篇文章将用来收集整理常用的javascript代码段/////
//常用js方法收集整理 /////常用js方法收集整理/ // ////// // // //// 常用js方法收集整理 // //常用js方法收集整理/ // /////常用js方法收集整理 //////常用js方法收集整理///////
/** * 两个数组中的整数进行加或减 * 例如: a = [4, 5, 7, 9]; b = [5, 6, 100, 1]; * a - b 的对应值 * type: 表示要进行加还是减, 默认是加 */ var subtractArray = function(a, b, type) { var tp = type !== true ? "+" : "-"; return a.length ? [eval(a.shift()+tp+b.shift())].concat(this.subtractArray(a,b, type)) : []; }
/** * 判断字符串是否存在于给定数组中 * needle: 要判断的字符串 * array: 放入的数组 * bool: 如果为true, 则返回needle在array中的位置 */ var inArray = function (needle, array, bool) { if(typeof needle=="string" || typeof needle=="number"){ for(var i in array){ if(needle===array[i]){ if(bool){ return i; } return true; } } return false; } },
var getDataType = function(data) { if(typeof data !=='object') { /*这里可以判断是否是string, number, boolean*/ return typeof data; } else { if(data instanceof Array) { return 'array'; } else if(data instanceof Object) { return 'object'; } else { return 'null'; } } },
function getNavigatorLanguage() { //判断浏览器接受的语言 if((typeof browser_language) !== "undefined" && browser_language !== null) { // ie var lang = navigator.systemLanguage.toLowerCase(); } else { // firefox chorme etc. var lang = navigator.language.toLowerCase(); } return lang; }
// 获取浏览器名称和版本 var getBrowser= (function(){ var ua= navigator.userAgent, tem, M= ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || []; if(/trident/i.test(M[1])){ tem= /\brv[ :]+(\d+)/g.exec(ua) || []; return 'IE '+(tem[1] || ''); } if(M[1]=== 'Chrome'){ tem= ua.match(/\b(OPR|Edge)\/(\d+)/); if(tem!= null) return tem.slice(1).join(' ').replace('OPR', 'Opera'); } M= M[2]? [M[1], M[2]]: [navigator.appName, navigator.appVersion, '-?']; if((tem= ua.match(/version\/(\d+)/i))!= null) M.splice(1, 1, tem[1]); return M.join(' ');})();
// 判断浏览器是否在当前页面,当用户切换浏览器tab标签时,本页面有不同的状态变化。
var hidden, state, visibilityChange; if (typeof document.hidden !== "undefined") { hidden = "hidden"; visibilityChange = "visibilitychange"; state = "visibilityState"; } else if (typeof document.mozHidden !== "undefined") { hidden = "mozHidden"; visibilityChange = "mozvisibilitychange"; state = "mozVisibilityState"; } else if (typeof document.msHidden !== "undefined") { hidden = "msHidden"; visibilityChange = "msvisibilitychange"; state = "msVisibilityState"; } else if (typeof document.webkitHidden !== "undefined") { hidden = "webkitHidden"; visibilityChange = "webkitvisibilitychange"; state = "webkitVisibilityState"; }// 添加监听器,在title里显示状态变化document.addEventListener(visibilityChange, function() { // 切换浏览器的tab, 查看浏览器title位置的名称变化 document.title = document[state];}, false);
//任意范围的随机数生成函数如下
function getRandomArbitrary(min, max) { return Math.random() * (max - min) + min;}getRandomArbitrary(1.5, 6.5);// 2.4942810038223864
//任意范围的随机整数生成函数如下
function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min;}getRandomInt(1, 6) // 5
//返回随机字符
function random_str(length) { var ALPHABET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; ALPHABET += 'abcdefghijklmnopqrstuvwxyz'; ALPHABET += '0123456789-_'; var str = ''; for (var i=0; i < length; ++i) { var rand = Math.floor(Math.random() * ALPHABET.length); str += ALPHABET.substring(rand, rand + 1); } return str;}random_str(6) // "NdQKOr"