博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Wd 西部数据
阅读量:7291 次
发布时间:2019-06-30

本文共 5998 字,大约阅读时间需要 19 分钟。

西部数据

https://item.jd.com/3564471.html#none

打算买一个大硬盘记录代码片段、开发项目、开发工具、电影游戏等……

 

/** * 获取100天后的日子 * 用来做计划是极好的 */var d = new Date() d.setDate(d.getDate() + 100)console.log(d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate())

 

/*** @func* @desc jsonp的基本使用函数* @params {object} urlObj* @params {string} urlObj.url - jsonp的请求地址* @params {string} urlObj.jsonpCallback - jsonp的回调函数命名* @params {function} callback - 要执行的回调函数*/function jsonp(urlObj, callback) {let url = urlObj.url;let callbackName = urlObj.jsonpCallback;// 先定义一个全局函数,供jsonp调用window[callbackName] = function(data) {window[callbackName] = undefined;document.body.removeChild(script);callback(data);};// jsonp的原理,插入一个script标签,并且执行上面的全局函数let script = document.createElement('script');script.src = url;document.body.appendChild(script);}/*** js随机数* 如获取1-21之间的随机数*/parseInt(Math.random() * 21 + 1);

 

/**     * @func     * @desc - 获取当前系统的型号     */    var getSys = function () {        var sys = ''        if (navigator.userAgent.match(/(iPad|iPhone)/)) {            sys = 'IOS';        } else if (navigator.userAgent.match(/(Android)/)) {            sys = 'Android';        }        return sys;    }    /**     * @func     * @desc - 从url地址中根据参数获取指定的值     * @param {string} name - 参数     * @param {string} url - url     */    var getUrlParam = function (name, url) {        if (!url) url = location.href;        var paraString = url.substring(url.indexOf("?") + 1, url.length).split("&");        var returnValue;        for (var i = 0; i < paraString.length; i++) {            var tempParas = paraString[i].split('=')[0];            var parasValue = paraString[i].split('=')[1];            if (tempParas === name)                returnValue = parasValue;        }        if (!returnValue) {            return "";        } else {            if (returnValue.indexOf("#") != -1) {                returnValue = returnValue.split("#")[0];            }            return returnValue;        }    }

 

/**     * @func     * @desc - 获取手机归属地信息     * @param {string} phoneNo - 手机号码     * @param {string} callback - 回调函数     */    var getPhoneData = function(phoneNo, callback) {        $.ajax({            url: 'http://tcc.taobao.com/cc/json/mobile_tel_segment.htm',            type: 'get',            data: {                tel: phoneNo            },            success: function(result) {                if (result) {                    var _data = result.split('=')[1]                    _data = _data.replace(/\s+/g, "").replace(/<\/?.+?>/g, "").replace(/[\r\n]/g, "").replace(/\'/g, '"').replace(/\:/g, '":').replace(/\,/g, ',"').replace('{', '{
"') var phoneData = JSON.parse(_data); console.log(phoneData) if (phoneData.catName === '中国移动') { applyData.PhoneType = 1; } else if (phoneData.catName === '中国联通') { applyData.PhoneType = 2 } else if (phoneData.catName === '中国电信') { applyData.PhoneType = 3 } else { applyData.PhoneType = 0 } applyData.PhoneAddress = phoneData.province } }, error: function(result) { console.info('无法获取手机归属地信息'); }, complete: function() { typeof callback === 'function' && submitApply(); } }) }

 

/** * @func * @desc - 常用的闭包使用技巧。使_cache像吸血鬼一样活在函数(闭包)内。同时不会污染全局,也不会被修改到 */var Cache = (function () {    var _cache = {};    return {      getCache: function (key) {        return _cache[key]      },      setCache: function (key, value) {        _cache[key] = value;      }    }}());

 

/** * @func * @desc - 灵活使用闭包的概念。           以下简单的实验说明他们是不同的实例。所以他们各自闭包内的_cache是不相干也不相同的           其实是简单的类与实例的概念。但还是说明一下比较好           毕竟大部分的插件也是这样制作的 */var Cache = (function () {    var _cache = {};    return {      getCache: function (key) {        return _cache[key]      },      setCache: function (key, value) {        _cache[key] = value;      },      showAllCache: function () {        console.log(_cache);      }    }});var a = new Cache();a.setCache('foo', 'bar');a.showAllCache();var b = new Cache();b.setCache('foo', 'bar2');b.showAllCache();/* 从输出的结果得知两者的闭包互不相干 */

 

/** * 0-50 */~~(0 + Math.random() * 51)

 

/** * Android 输入法键盘 和 input 问题 */if(getSys() === 'Android') {    window.addEventListener("resize", function() {        if(document.activeElement.tagName=="INPUT" || document.activeElement.tagName=="TEXTAREA") {           window.setTimeout(function() {                document.activeElement.scrollIntoViewIfNeeded();           }, 0);       }    })}

 

let n = s.toString().replace(/[\`~!@#$^&*()=\-\|{}':;'\\,\[\].<>\?~!@#¥……&*()——|{}【】‘;:”“'。,、?]/g, '')

 

random任意值到任意值范围

var a = parseInt(Math.random()*(99999999 - 10000000 + 1) + 10000000,10); // ~~(Math.random() * (99999999 - 10000000 + 1) + 10000000);console.log(a, a.toString().length)

 

 

/** * @desc - 生产1W条8位的数字.使用了es6的set。 *         set的特性是不允许重复的值存在。利用这个特性来剔除重复的值 */var _set = new Set();while(_set.size != 10000) {    _set.add(~~(Math.random() * (99999999 - 10000000 + 1) + 10000000));}/** * @desc - 规则策略类 **/var rule = function (v) {         // 截取后4位         var $_v = v.toString().substr(-4, 4);         // 切割为数组方便判断使用         var $_arr = $_v.split('');         return {             'AAAA':  function ()  { return $_arr[0] == $_arr[1] && $_arr[1] == $_arr[2] && $_arr[2] == $_arr[3]},             'AABB':  function ()  { return $_arr[0] == $_arr[1] && $_arr[2] == $_arr[3]},             'ABAB':  function ()  { return $_arr[0] == $_arr[2] && $_arr[1] == $_arr[3]},             'not' :  function (n) { return $_v.indexOf(n) < 0}         }}var myarr = []// 使用了es6迭代器专用的遍历for (var v of _set.values()) {    // 获取规则    var _rule = new rule(v)    // 判断是否通过规则    if (_rule.not(4) && (_rule.AAAA() || _rule.AABB() || _rule.ABAB())) {         myarr.push(v)    }}console.log(myarr)

 

转载于:https://www.cnblogs.com/CyLee/p/7025731.html

你可能感兴趣的文章
Java设计模式-代理模式
查看>>
Android--sharepreference总结
查看>>
在博客园已经一年多时间了,今天开通博客了!
查看>>
给定矩阵行数和矩阵列数,顺时针打印矩阵(从0开始)
查看>>
个人阅读作业week7
查看>>
Java数据类型(2)------自动封装拆箱
查看>>
java基本语法
查看>>
oracle多表关联多字段update
查看>>
欧拉函数
查看>>
AngularJS源码解析4:Parse解析器的详解
查看>>
HTTP错误 404.17 - Not Found" IIS 7.5 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理...
查看>>
busybox inetd tftpd
查看>>
busybox reboot 无效
查看>>
hdu6312 2018杭电多校第二场 1004 D Game 博弈
查看>>
制作jar文件
查看>>
Jquery 实现回车键触发功能
查看>>
netty-socketio使用namespace
查看>>
在div中设置文字与内部div垂直居中
查看>>
JS入门篇(1)
查看>>
jfeechart
查看>>