国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

js常用的函數庫

DevTalking / 908人閱讀

摘要:移動端返回上一頁移動端返回上一頁如果不支持,返回首頁的和有獲取隨機數獲取隨機數位手機號碼驗證判斷是否是漢字中日韓統一表意字符。后至為空兼容象形文字。后至為空不定期更新,看心情更新參考鏈接

阻止冒泡、默認行為、事件捕獲
 /* funname preventEventPropagation
  * desc 阻止冒泡事件&阻止默認行為&阻止事件捕獲
  * params {name: string}參數名稱
  * return {string or null}
  */
 var preventEventPropagation = function(evt) {
     var e = evt || window.event;
     if (e) {
         e.preventDefault();
         e.stopPropagation();
     }
     return false;
 };
獲取地址參數
 /* funname getQueryString
  * desc 獲取地址參數
  * params {name: string}參數名稱
  * return {string or null}
  */
 var getQueryString = function(name) {
     var r, reg;
     reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
     r = window.location.search.substr(1).match(reg);
     if (r !== null) {
         return r[2]; //不解碼
     }
     return null;
 };
判斷微信環境
 /*
  *desc:判斷微信環境
  *params:null
  */
 var isInWechat = function() {
     var ua = navigator.userAgent.toLowerCase();
     if (ua.match(/MicroMessenger/i) == "micromessenger") {
         return true;
     } else {
         return false;
     }
 };
獲取環境參數
 /*
  *funname:platformFn
  *des:獲取環境參數
  *params: 
  *return: [object]
  */
 var platformFn = function() {
     var u = navigator.userAgent,
         app = navigator.appVersion;
     return {
         webKit: u.indexOf("AppleWebKit") > -1, //蘋果、谷歌內核
         mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否為移動終端
         ios: !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/), //ios終端
         android: u.indexOf("Android") > -1 || u.indexOf("Adr") > -1, //android終端
         iPhone: u.indexOf("iPhone") > -1, //是否為iPhone或者QQHD瀏覽器
         iPad: u.indexOf("iPad") > -1, //是否iPad
         webApp: u.indexOf("Safari") == -1, //是否web應該程序,沒有頭部與底部
         weixin: u.indexOf("MicroMessenger") > -1, //是否微信 (2015-01-22新增)
     };
 };
判斷是否為數組
 // 判斷是否為數組
 /*
  *funname:isArray
  *des:判斷是否為數組
  *params: [array] arr
  *return: [bolean]
  */
function isArray(arr) {
    if (arr typeof arr === "object" && arr.constructor == Array) {
        return true;
    }
    return false;
}

數組除重
 // 數組除重
 /*
  *funname:arrayUnique
  *des:數組去重
  *params: [array] arr
  *return: [array]
  */
 var arrayUnique = function(arr) {
     var newArr = [];
     var temp = {};
     var len = arr.length;
     for (var index = 0; index < len; index++) {
         var key = typeof(arr[index]) + arr[index];
         if (temp[key] !== 1) {
             newArr.push(arr[index]);
             temp[key] = 1;
         }
     }
     return newArr;
 };

獲取cookie
 /*
  *funname:getCookie
  *des:獲取cookie
  *params: [array] arr
  *return: [array]
  */
 function getCookie(c_name) {
     if (document.cookie.length > 0) {
         c_start = document.cookie.indexOf(c_name + "=")
         if (c_start != -1) {
             c_start = c_start + c_name.length + 1
             c_end = document.cookie.indexOf(";", c_start)
             if (c_end == -1) c_end = document.cookie.length
             return unescape(document.cookie.substring(c_start, c_end))
         }
     }
     return ""
 }

設置cookie
 /*
  *funname:setCookie
  *des:設置cookie
  *params: [string] c_name,[string] value,expiredays
  *return: [array]
  */
 function setCookie(c_name, value, expiredays) {
     var exdate = new Date()
     exdate.setDate(exdate.getDate() + expiredays)
     document.cookie = c_name + "=" + escape(value) +
         ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString())
 }
檢測cookie
 /*
  *funname:checkCookie
  *des:檢測cookie
  *params: 
  *return: 
  */
 function checkCookie() {
     username = getCookie("username")
     if (username != null && username != "") {
         return true;
     } else {
         return false;
     }
 }
獲取localstorage
 /*
  *funname:getLocalStorage
  *des:獲取localstorage
  *params: [string] key
  *return: [string]
  */
 function getLocalStorage(key) {
     if (localStorage) {
         return localStorage.getItem(key);
     } else {
         // 使用cookie獲取
         return getCookie(key);
     }
     return "";
 }
設置localstorage
 /*
  *funname:setLocalStorage
  *des:設置localstorage
  *params: 
  *return: null
  */
 function setLocalStorage(key, value, expiredays) {
     if (localStorage) {
         console.log(setLocalStorage);
         localStorage.setItem(key, value);
     } else {
         // 使用cookie保存
         setCookie(key, value, expiredays);
     }
 }
清空localstorage
/*
 *funname:clearLocalStorage
 *des:清空localstorage
 *params: [string] key
 *return: [string]
 */
function clearLocalStorage(key) {
  if (localStorage) {
    localStorage.removeItem(key);
  } else {
    // 使用cookie獲取
    clearCookie(key)
  }
}
解決ios滾動問題的插件
 /**
  * ScrollFix v0.1
  * http://www.joelambert.co.uk
  *
  * Copyright 2011, Joe Lambert.
  * Free to use under the MIT license.
  * http://www.opensource.org/licenses/mit-license.php
  * des: 解決ios滾動問題的插件
  */

 var ScrollFix = function(elem) {
     // Variables to track inputs
     var startY, startTopScroll;

     elem = elem || document.querySelector(elem);

     // If there is no element, then do nothing  
     if (!elem)
         return;

     // Handle the start of interactions
     elem.addEventListener("touchstart", function(event) {
         startY = event.touches[0].pageY;
         startTopScroll = elem.scrollTop;

         if (startTopScroll <= 0)
             elem.scrollTop = 1;

         if (startTopScroll + elem.offsetHeight >= elem.scrollHeight)
             elem.scrollTop = elem.scrollHeight - elem.offsetHeight - 1;
     }, false);
 };
動態加載js
 /*
  *funname:loadScript
  *des:動態加載js
  *params: [string] filepath,[function] onloadCallback
  *return: null
  */
function loadScript(filepath, onloadCallback) {
    var scriptDom = document.createElement("script");
    scriptDom.onload = scriptDom.onreadystatechange = onloadCallback;
    scriptDom.type = "text/javascript";
    scriptDom.src = filepath;
    document.body.appendChild(scriptDom);
}
克隆對象
/*
 *desc:針對純 JSON 數據對象的深拷貝
 *params:[object] obj
 */
var cloneObj = function(obj) {
  if (obj) {
    var newObj = JSON.stringify(obj)
    newObj = JSON.parse(newObj)
    return newObj
  }
  return null
};

局限性:

 - 無法復制函數 
 - 原型鏈沒了,對象就是object,所屬的類沒了。
移動端返回上一頁
/*
 *desc:移動端返回上一頁
 *params:
 */
var appGoBack = function() {
  if (!url || url == "") {
    window.history.go(-1);
    setTimeout(function() {
      // 如果不支持history.go,返回首頁
      location.replace("/");
    }, 300);
  } else {
    // ios的.history.go和history.back有bug
    location.replace(url);
  }
  return false;
}
獲取隨機數
/*
 * funname:GetRandomNum
 *params:[number]
 * des:獲取隨機數
 *return:
 */
var getRandom = function(Min, Max) {???
  var Range = Max - Min;???
  var Rand = Math.random();???
  return (Min + Math.round(Rand * Range));???
};
11位手機號碼驗證
function checkPhone(phone ){ 
    if(/^1(3|4|5|7|8)d{9}$/.test(phone)){ 
        return true; 
    }
    return false; 
}
判斷是否是漢字
function isChinese(str){   
   var reg = /[u4E00-u9FA5uF900-uFA2D]/;
   return reg.test(str);
}

//u4e00-u9fbf:  unicode CJK(中日韓)統一表意字符。u9fa5后至u9fbf為空
//uF900-uFAFF:  unicode CJK 兼容象形文字  。uFA2D后至uFAFF為空

不定期更新,看心情更新~

參考鏈接:http://www.cnblogs.com/baiyyg...

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/81088.html

相關文章

  • 前端常用插件、工具類匯總

    摘要:頁面調試騰訊開發維護的代碼調試發布,錯誤監控上報,用戶問題定位。同樣是由騰訊開發維護的代碼調試工具,是針對移動端的調試工具。前端業務代碼工具庫。動畫庫動畫庫,也是目前通用的動畫庫。 本人微信公眾號:前端修煉之路,歡迎關注 本篇文章整理自己使用過的和看到過的一些插件和工具,方便日后自己查找和使用。 另外,感謝白小明,文中很多的工具來源于此。 彈出框 layer:http://layer....

    GitCafe 評論0 收藏0
  • 推薦一個js常用工具函數

    etools 常用js函數整理 安裝和使用 使用npm安裝:npm install -s etools通過es6模塊引入,如import _ from etools;console.log(_.extend(true,{},{age:23})); 下載并在頁面引入etools.js直接調用ETool對象中得方法,如console.log(ETools.extend(true,{},{age:2...

    lemanli 評論0 收藏0
  • js(1) -- underscore.js下劃線函數

    摘要:它提供了幾十種函數式編程的方法,彌補了標準庫的不足。框架就將這個庫作為自己的工具庫。常用函數內部機制簡介定義了一個下劃線對象,函數庫的所有方法都屬于這個對象。 1、簡介 1.1 簡介:  Underscore.js是一個JavaScript庫,它提供了大量有用的函數編程助手,其包括超過100個功能,如日常功能:map、filter、invoke——以及更專業的功能:函數綁定、javas...

    GHOST_349178 評論0 收藏0
  • JS標準部分內置對象常用屬性和方法

    摘要:常用的屬性和方法創建空創建給對象添加屬性給對象添加多個屬性給對象添加給對象添加返回屬性配置對象返回所有屬性名數組返回對象原型對象阻止對象擴展凍結對象密封對象檢測是否可擴展布爾值檢測是否凍結布爾值檢測是否密封布爾值對象原型對象對象實例的屬性和 常用Object的屬性和方法 創建空Object var o1 = {}; var o2 = Object.create(Object.prot...

    source 評論0 收藏0
  • javascript功能插件大集合 前端常用插件 js常用插件

    摘要:轉載來源包管理器管理著庫,并提供讀取和打包它們的工具。能構建更好應用的客戶端包管理器。一個整合和的最佳思想,使開發者能快速方便地組織和編寫前端代碼的下一代包管理器。很棒的組件集合。隱秘地使用和用戶數據。 轉載來源:https://github.com/jobbole/aw... 包管理器管理著 javascript 庫,并提供讀取和打包它們的工具。?npm – npm 是 javasc...

    netmou 評論0 收藏0
  • javascript功能插件大集合 前端常用插件 js常用插件

    摘要:轉載來源包管理器管理著庫,并提供讀取和打包它們的工具。能構建更好應用的客戶端包管理器。一個整合和的最佳思想,使開發者能快速方便地組織和編寫前端代碼的下一代包管理器。很棒的組件集合。隱秘地使用和用戶數據。 轉載來源:https://github.com/jobbole/aw... 包管理器管理著 javascript 庫,并提供讀取和打包它們的工具。?npm – npm 是 javasc...

    Hydrogen 評論0 收藏0

發表評論

0條評論

DevTalking

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<