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"

 

posted @ 2015-06-16 14:47  Zell~Dincht  阅读(322)  评论(0编辑  收藏  举报