javascript 代码段整理
这篇文章将用来收集整理常用的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"
---- 始终相信这句:
----“做每天该做的事,不计结果!”
---- 因爲對於編程還只是新手,對很多知識掌握的不牢靠,歡迎大家批評指正~~|=-=|~~
----“做每天该做的事,不计结果!”
---- 因爲對於編程還只是新手,對很多知識掌握的不牢靠,歡迎大家批評指正~~|=-=|~~