![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javascript
YufJi
这个作者很懒,什么都没留下…
展开
-
判断字符串长度函数
function lenstr(str){ var len = 0; for (var i=0; i var c = str.charCodeAt(i); //单字节加1 if ((c >= 0x0001 && c len++; } else { len+=2;原创 2017-02-06 17:31:35 · 3267 阅读 · 0 评论 -
小程序中使用async await的注意点
需要在文件引入regenerator-runtime (注:也就是facebook的regenerator, 下载本地引入即可)import regeneratorRuntime from '../../libs/regenerator-runtime';原创 2018-07-11 17:26:13 · 5121 阅读 · 0 评论 -
小程序请求浅封装
request.jsimport wepy from 'wepy'// 接口前缀import { prefix } from '@/config.js'function checkStatus(response) { if (response.statusCode >= 200 && response.statusCode < 300) return response...原创 2018-07-11 17:21:18 · 931 阅读 · 0 评论 -
wepy中使用redux-saga作为异步中间件
依赖安装 redux redux-saga wepy-reduxstore/index.js import { createStore, applyMiddleware } from 'redux'import createSagaMiddleware from 'redux-saga/dist/redux-saga'import rootReducer from './reduce...原创 2018-07-11 17:15:33 · 876 阅读 · 0 评论 -
eslint校验规则
"off"或者0 //关闭规则关闭"warn"或者1 //在打开的规则作为警告(不影响退出代码)"error"或者2 //把规则作为一个错误(退出代码触发时为1)"no-alert": 0,//禁止使用alert confirm prompt"no-array-constructor": 2,//禁止使用数组构造器"no-bitwise": 0,//禁止使用按位运算符转载 2018-07-11 17:00:21 · 1600 阅读 · 0 评论 -
面试题 手写Promise
class Promise{ constructor(executor){ this.state = 'pending'; this.value = undefined; this.reason = undefined; this.onResolvedCallbacks = []; this.onRejectedCallbacks = []; let reso...转载 2018-07-10 12:47:59 · 993 阅读 · 0 评论 -
json转excel js
function exportExcel(FileName = '数据统计', JSONData = [], columns = []) { let excel = ''; //设置表头 let row = ''; for (let i = 0, l = columns.length; i row += `${columns[i].title转载 2017-12-05 10:56:27 · 507 阅读 · 0 评论 -
自定义轮播图
html结构: ul#selector > li > imgjs: 改 es6 class写法class Swiper { constructor() { this.transition = "-webkit-transition: -webkit-transform .3s ease"; this.css = [ "z-index: 3;翻译 2017-11-21 17:44:36 · 259 阅读 · 0 评论 -
理解get和post的区别
最直观的区别无非就是get把请求参数放在url,post把请求参数放在request body;实质上,get和post都是tcp链接;对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。原创 2017-11-10 10:24:31 · 280 阅读 · 0 评论 -
事件循环和任务队列
事件循环: 调用栈执行完 -> 任务队列 (所有微观任务 -> 1个宏观任务 -> 所有微观任务 -> 1 个宏观任务 。。。。。。)任务队列: setTimeout ajax 之类的都属于宏观任务 Promise属于微观任务 example: setTimeout(() => {console.log(4)},0);new Promise原创 2017-11-02 18:20:23 · 704 阅读 · 0 评论 -
常用正则表达式
1 用户名正则//用户名正则,4到16位(字母,数字,下划线,减号)var uPattern = /^[a-zA-Z0-9_-]{4,16}$/;//输出 trueconsole.log(uPattern.test("iFat3"));2 密码强度正则//密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符var pPatt原创 2017-06-01 12:43:55 · 276 阅读 · 0 评论 -
关于JSON详解
我们先来看一个JS中常见的JS对象序列化成JSON字符串的问题,请问,以下JS对象通过JSON.stringify后的字符串是怎样的?先不要急着复制粘贴到控制台,先自己打开一个代码编辑器或者纸,写写看,写完再去仔细对比你的控制台输出,如果有误记得看完全文并评论,哈哈。var friend={ firstName: 'Good', 'lastName': 'Man', 'a转载 2017-04-20 19:42:11 · 444 阅读 · 0 评论 -
递归将嵌套数组改成二维数组
eachOption = (level)=>{ var arr = []; function refining(level,arr) { const length = level.length; for (var i = 0; i arr.push({ id:level[i].id,原创 2017-04-06 13:57:39 · 1526 阅读 · 0 评论 -
常用正则表达式大全
一、校验数字的表达式数字:^[0-9]*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]*)$非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$带1-2位小数的正数或负数:^(翻译 2017-04-14 00:44:21 · 245 阅读 · 0 评论 -
promise 解决异步问题
常规面试题: for(var i = 0; i setTimeout(function(){console.log(new Date, i)}, 1000);}console.log(new Date, i)5->5,5,5,5,5promise方法实现:const task = [];for(var i = 0; i (原创 2017-04-01 10:08:38 · 759 阅读 · 0 评论 -
常用的对数组的操作
concat()连接两个或更多的数组,并返回结果。every()检测数值元素的每个元素是否都符合条件。filter()检测数值元素,并返回符合条件所有元素的数组。indexOf()搜索数组中的元素,并返回它所在的位置。join()把数组的所有元素放入一个字符串。lastIndex原创 2017-01-20 13:52:51 · 388 阅读 · 0 评论 -
map, foreach, for的用法区别
array.forEach(callback[, thisObject]);下面是参数的详细信息: 1、 callback : 函数测试数组的每个元素。 2、thisObject : 对象作为该执行回调时使用.forEach是ECMA5中Array新方法中最基本的一个,就是遍历,循环。Array在ES5新增的方法中,参数都是function类型,默认原创 2017-01-20 11:44:19 · 3477 阅读 · 0 评论 -
利用reduce方法 优雅的处理不定长度的链式异步操作
// 利用reduce同步处理promise const p = function(num) { return new Promise((resolve, reject) => { setTimeout(() => { resolve(num) }, 2000) }) }; // list: [1, 2, 3, 4,....,'end'] list.reduce(a...原创 2018-07-11 17:36:03 · 1079 阅读 · 0 评论