js
文章平均质量分 74
chen_晨风
Talking is cheap,show me a code
展开
-
[你需要了解的中间件]阅读koa-compose后的感悟
前篇关于compose函数对于学过函数编程一定不陌生。在 redux 中也有应用。下面我们来实现一个 compose。场景:我们有三个函数,现在想要实现 1+2+3+4 结果。const addOne = (num: number) => { console.log('addOne input value', num); return num + 1;};const addTwo = (num: number) => { console.log('addTwo input v原创 2021-03-26 21:06:06 · 302 阅读 · 0 评论 -
[面试基础题]控制红绿灯
js版 实现红绿灯题目:默认情况下,红灯亮20秒,并且最后5秒闪烁绿灯亮20秒,并且最后5秒闪烁黄灯亮10秒,次序为:红-绿-黄-红-绿-黄灯的个数、颜色、持续时间、闪烁时间、灯光次序都可配置,如:lights=[{color: ‘#fff’, duration: 10000, twinkleDuration: 5000}, … ]js版function sleep(duration) { return new Promise((resolve) => { setTimeo原创 2021-03-26 12:44:56 · 668 阅读 · 0 评论 -
promsie实现与并发队列控制解析
源码地址从一个简单案例讲起promise 基本概念????console.log('1. start');const promise=new Promise((resolve,reject)=>{ console.log('2. enter Executor'); resolve('hello promise');})promise.then(res=>{ console.log(res,'success'); console.log('4. resolve原创 2021-01-24 20:33:22 · 549 阅读 · 0 评论 -
[你应该掌握的] 基本函数的应用与实现
文章来源于learnrx,最近在学习Rx觉得下面这些函数对于日常开发很有帮助因此:code share you,由于能力有限如有错误轻轻踩~本文目标 ????掌握 forEach、map、filter、concatAll、reduce、zip 实现通过上述函数组合解决实际问题文章目录本文目标 ????forEachmapfilterconcatAll实现 concatAll案例一案例二resu...原创 2020-03-19 23:09:40 · 622 阅读 · 0 评论 -
es6 --函数的扩展
一、函数参数默认值//es6之前的做法function log(x,y){ var y=y||'world'; console.log(x,y);}log('hello'); // hello worldlog('hello',0); //hello world**:这种写法 当参数y赋值为false时,此时默认值就有效。这可能并不是我们想要的。 你可能会做如下改...原创 2018-10-14 11:04:57 · 187 阅读 · 0 评论 -
es6 -- 数组的扩展
目录 数组构造函数的扩展Array.from()Array.of()数组原型的扩展copyWithin()find()findIndex()fill()entries()、keys()、values()includes()数组构造函数的扩展Array.from()该方法可以将类数组对象与可遍历(iterrable)对象转换为数组类数组对象...原创 2018-10-14 12:17:33 · 203 阅读 · 0 评论 -
es6 --class继承
es5与es6继承对比1.es5中继承的实质是先创造子类的实例对象this,然后再将父类的方法添加到this上(parent.apply(this)). function SuperType(){ this.colors=["red","blue"];} function SubType(){ //借用构造函数 SuperType.ca...原创 2018-10-14 23:33:49 · 367 阅读 · 0 评论 -
vue中清空对象的方法
js中清空对象方法 1. 使用 delete 操作符var obj={ name:'cc', age:12, gender:'famle'}for(var key in obj){ delete obj[key];}2. 使用字面量重置指向一个新的对象var obj={ name:'cc', age:12, gen...原创 2018-10-18 19:46:29 · 40021 阅读 · 3 评论 -
关于 assign 的克隆问题与解决办法(深复制与浅复制)
目录Object.assign解决:一、使用 JSON复制二、loadsh的深复制三、使用 Jquery中 extend四、工具类简单比较Object.assign关于使用Object.assign复制时,对于引用类型里存放引用类型时,此时里面存放引用类型是浅复制。具体事例看测试:var obj={a:1,b:{name:"cc"}}var cloneOb...原创 2018-10-31 11:06:05 · 693 阅读 · 0 评论 -
关于原生Ajax、Jquery封装、axios之间区别
目录 什么是Ajax?1.Ajax特性2.请求类型原生Ajax请求流程关于Content-type关于readyState关于methodJquery封装Ajax特点参数axios特点底层APIaxios(config)默认配置 拦截器快捷API什么是Ajax?Ajax是异步的javascript和XML(Asyn...原创 2018-10-25 00:04:38 · 2150 阅读 · 0 评论 -
JS 中 this用法整理
目录一、this指向该函数的调用者二、this指向全局环境(浏览器:window、node.js:global)三、this 指向利用call或apply所指向派给this的环境四、this指向new所产生的环境五、回调函数内this指向调用它的对象六、箭头函数一、this指向该函数的调用者形式 obj.fn(); //函数内的this指向obj案例v...原创 2018-11-26 10:33:34 · 216 阅读 · 0 评论 -
JavaScript 代码简洁之道
JavaScript 代码简洁之道本文并不是代码风格指南,而是关于代码的 可读性、复用性、扩展性 探讨目录变量函数对象和数据结构类SOLID测试异步错误处理代码风格注释变量用有意义且有含义的单词命名变量Bad:const yyyymmdstr=moment.format('YYYY/MM/DD');Good:const currentDate=moment...翻译 2019-01-07 17:54:57 · 377 阅读 · 0 评论 -
面试题 统计 1-1000 所有0
描述: 统计 1 -10000中所有0 比如 100 有两个零,该题主要考察对字符串api使用。方法一 使用 Array.from 生成数字数组,在转换字符串匹配0 function getZeroCount(num){ return Array.from({length:num},(v,i)=>i+1).join('').match(/0/g).length; }...原创 2019-07-08 10:16:41 · 470 阅读 · 0 评论 -
前端面试题 数组去重
方式一 setfunction unique(arr) { return [...new Set(arr)]};方式二 indexoffunction unique(arr) { let res = []; arr.forEach(item => { if (res.indexOf(item) === -1) { ...原创 2019-07-08 10:20:26 · 654 阅读 · 0 评论 -
es6 -- 对象的扩展(常用)
目录 1.属性的简写2.Object API3.扩展运算符1.属性的简写如果对象中只写属性名,不写属性值。这时,属性值等于属性名所代表的变量。 //es5写法var name='cc';var obj={ name:name, age:12}//es6var obj={ name, age:12}2.Object AP...原创 2018-10-13 15:57:44 · 193 阅读 · 0 评论 -
ES6中变量的声明与解析
目录 变量的声明var命令let和const命令变量的解构赋值数组的解构赋值对象的解构赋值字符串的解构赋值 数值、boolean的解构赋值变量的声明var命令1. 可以重复声明var a=10;var a=12;console.log(a); //122. 变量可以提升console.log(a); //undefinedva...原创 2018-10-13 11:26:46 · 418 阅读 · 0 评论 -
jQuery ---在Ajax中的应用
目录$.get()$.post()$.getScript()$.getJSON()$.ajax()序列化元素jQuery对Ajax操作进行了封装,在jQuery中$.ajax()方法属于最底层的方法,第二层是load(),$.get()和$.post()方法,第三次是$.getScript()和$.getJSON()方法。$.get()该方法使用GET方法进行异...原创 2018-09-21 00:22:03 · 320 阅读 · 0 评论 -
js --基本数据类型与引用类型、作用域
版权声明:本文为博主原创文章,若文章中有错误请联系博主改正,请不要恶意留言(不喜欢请绕道)。欢迎大家转载,转载时请注明原文地址:https://blog.csdn.net/qq_37674616/article/details/82085177目录基本类型和引用类型 1. 动态属性 2. 复制变量值 3.传递参数4. 检测类型基本数据类型检测引用类型的值检...原创 2018-08-26 22:00:11 · 681 阅读 · 0 评论 -
js -- 理解面向对象(创建对象与继承)
版权声明:本文为博主原创文章,若文章中有错误请联系博主改正,请不要恶意留言(不喜欢请绕道)。欢迎大家转载,转载时请注明原文地址:https://blog.csdn.net/qq_37674616/article/details/82220732目录一、创建对象1. 工厂函数模式2. 构造函数模式1. 构造函数与函数区别2. 构造函数的问题3. 原型模式1.原型写...原创 2018-08-31 01:07:00 · 686 阅读 · 0 评论 -
js引用类型 --Object类型
版权声明:本文为博主原创文章,若文章中有错误请联系博主改正,请不要恶意留言(不喜欢请绕道)。欢迎大家转载,转载时请注明原文地址:https://blog.csdn.net/qq_37674616/article/details/82155068目录Object类型1. 创建实例2.访问对象属性3. 检测属性4. Object属性和方法5. 对象序列化Object类...原创 2018-08-28 21:53:53 · 643 阅读 · 0 评论 -
js引用类型--Function类型
版权声明:本文为博主原创文章,若文章中有错误请联系博主改正,请不要恶意留言(不喜欢请绕道)。欢迎大家转载,转载时请注明原文地址:https://blog.csdn.net/qq_37674616/article/details/82177270目录Function类型 1.函数的创建函数的声明函数表达式 2.函数属性和方法继承属性非继承的方法 3.函...原创 2018-08-29 08:18:29 · 770 阅读 · 0 评论 -
js引用类型--Array类型
目录Array类型1. 创建数组使用Array构造函数使用数组字面量2. 读取和设置数组的值3. 数组删除和添加删除添加4. 检测数组5. 数组的方法栈方法队列方法重排序方法操作方法 位置方法迭代方法归并方法案例案例一:将一个原数组以5个一组划分后形成一个新数组...原创 2018-08-29 20:58:59 · 855 阅读 · 1 评论 -
js -- 基本包装类型
版权声明:本文为博主原创文章,若文章中有错误请联系博主改正,请不要恶意留言(不喜欢请绕道)。欢迎大家转载,转载时请注明原文地址:https://blog.csdn.net/qq_37674616/article/details/82384945目录Boolean类型Number类型属性原型中方法toFixed()toExponential()toPrecisio...原创 2018-09-04 18:47:10 · 1197 阅读 · 0 评论 -
js-常见排序算法
版权声明:本文为博主原创文章,若文章中有错误请联系博主改正,请不要恶意留言(不喜欢请绕道)。欢迎大家转载,转载时请注明原文地址:https://blog.csdn.net/qq_37674616/article/details/82315651目录一、选择排序二、冒泡排序三、插入排序1. 希尔排序四、快速排序我们衡量一个算法的指标包括: 时间复杂度 (在排序...原创 2018-09-02 15:28:30 · 4894 阅读 · 0 评论 -
jquery中的选择器用法与归类
目录选择器基本选择器层次选择器 过滤器基本过滤器内容过滤器可见性过滤器 属性过滤器后代过滤器表单过滤选择器选择器基本选择器 通配符选择器 * $("*")选取所有元素 id选择器 #id $("#one")选取id为one的元素 类选择器 .class $(".two")选取所有class为two...原创 2018-09-18 00:41:00 · 1144 阅读 · 0 评论 -
js -画布中的各种图形与使用方法
原文地址:https://blog.csdn.net/qq_37674616/article/details/82702158目录画布绘制矩形绘制路径圆示例直线示例曲线绘制文本属性方法渐变线性渐变径向渐变变形组合阴影图像平铺裁剪画布绘制步骤: 1.获取canvas元素 ...原创 2018-09-14 14:15:38 · 4710 阅读 · 0 评论 -
js --拖拽
版权声明:本文为博主原创文章,若文章中有错误请联系博主改正,请不要恶意留言(不喜欢请绕道)。欢迎大家转载,转载时请注明原文地址:https://blog.csdn.net/qq_37674616/article/details/82702882目录拖拽拖放事件放置事件数据传输对象属性方法完整示例拖拽拖拽即通过鼠标按下,将要拖拽的目标放置到某一个位置。...原创 2018-09-14 17:04:06 · 399 阅读 · 0 评论 -
js --Storage与IndexedDB(创建流程与事件)
版权声明:本文为博主原创文章,若文章中有错误请联系博主改正,请不要恶意留言(不喜欢请绕道)。欢迎大家转载,转载时请注明原文地址:https://blog.csdn.net/qq_37674616/article/details/82713840 目录Web StorageStroage 方法Storage事件sessionStorage与localStorage...原创 2018-09-15 15:06:57 · 908 阅读 · 0 评论 -
jQuery---关于事件的运用
目录事件绑定事件解绑交互事件事件冒泡事件对象阻止冒泡阻止默认事件对象的属性模拟操作加载DOM事件绑定bind(type,[,data],fn)type:事件类型data:作为event.data属性值传递给事件对象的额外数据对象function greet(event){ alert("hello"+event.data.nam...原创 2018-09-20 14:25:05 · 497 阅读 · 0 评论 -
js--ECMA标准语法
版权声明:本文为博主原创文章,若文章中有错误请联系博主改正,请不要恶意留言(不喜欢请绕道)。欢迎大家转载,转载时请注明原文地址:https://blog.csdn.net/qq_37674616/article/details/82080200目录js组成基本概念(ECMA)1)语法2)关键字和保留字3)变量4)数据类型5)操作符6)流控制语句7)函数...原创 2018-08-26 14:00:19 · 1358 阅读 · 1 评论