Javascript
文章平均质量分 95
LynnWonderLu
https://github.com/LynnWonder
展开
-
FE 每周问题总结
JS每周问题总结原创 2020-04-20 00:48:10 · 1195 阅读 · 1 评论 -
typeScript学习笔记(1)
typeScript学习笔记(1)文章目录typeScript学习笔记(1)@[toc]为什么使用typescript核心原则值所具有的shape进行类型检查public/private/protected其实语言学习没什么特别的地方,只是在此处记录一些踩坑点或者值得特别注意的地方2020/04/08 add ts/public/private/protected为什么使用ty...原创 2020-04-13 14:51:10 · 203 阅读 · 0 评论 -
学习笔记(6)
学习笔记(6)文章目录学习笔记(6)移动端手势缩放pinchzoom.js源码ObjectObject.assignObject.prototype.hasOwnProperty.call()再次看undefined和null的关系document.implementation.createHTMLDocumentparentNode parentElement childNodes child...原创 2019-07-29 11:00:49 · 328 阅读 · 0 评论 -
JavaScript跳出数组的forEach遍历
var arr=[7,4,6,51,1]; try{arr.forEach((item,index)=>{ if (item<5) { throw new Error("myerr")//创建一个新的error message为myerr } console.log(item)//只打印7 说明...原创 2019-05-03 20:30:22 · 1112 阅读 · 0 评论 -
ES6异步函数简单对比
感恩阮一峰老师的ECMAScript 6 入门,其他知识正在陆续学习中,会在该文章中陆续添入。promise将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。含义:简单说就是一个容器,里面包含着一个未来可能结束的事件的结果特点:1.对象状态不受外界影响:pending进行中 fulfilled成功 rejected失败。只有异步操作的结果可以决定当前是哪一种状态...原创 2019-05-02 16:37:51 · 1014 阅读 · 0 评论 -
call,apply实现bind以及call和apply的主要作用
call,apply的主要功能:改变调用他们的函数体内部this的指向:指向第一个参数(为null指向宿主对象:浏览器中就是window对象!) 实现bind的功能 借用其他对象的方法。也就是说可以实现继承(构造函数继承或者构造函数和原型链继承组合式继承或者寄生组合式继承)区别:参数不一样而已啦~apply只有两个参数,第二个是一个数组或者类数组对象1. var bana...原创 2019-05-03 17:52:53 · 958 阅读 · 0 评论 -
JavaScript单例模式
单例模式:一个类只有惟一的一个实例,并且提供全局访问。一个简单的单例模式如下 //单例模式简单实现 // 单例模式就是保证一个类只有一个实例 function Single(name){ this.name=name; if (!Single.instance) {//undefined取非为true Single.ins...原创 2019-05-03 19:36:50 · 631 阅读 · 0 评论 -
JavaScript发布者-订阅者模式
#仅简单描述,稍后会新增具体内容:发布者-订阅者模式又称观察者模式:当一个对象(发布者)状态发生改变时,所有依赖它的对象(订阅者)都会得到通知。该模式广泛应用在异步编程中:我们无需关注对象在异步运行期间的内部状态,只需要订阅感兴趣的事件发生点。简单说就是该模式让发布者和订阅者两个对象弱耦合,虽然不太清楚彼此的细节但是不影响彼此通信。1.DOM事件事实上在我们普通的编程中就应用过...原创 2019-05-03 20:26:53 · 4895 阅读 · 0 评论 -
JavaScript数组方法总结
改变原数组:pop 尾删 push尾添 shift头删 unshift头添 splice替换或者删除 视参数而定 sort排序默认按字符集顺序排序 //第二个参数为0表示不删除所以实现的是添加一个元素 var arr0=[7,4,6,51,1]; var arr1=[7,4,6,51,1]; var arr2=[7,4,6,51,1]; v...原创 2019-05-06 11:12:43 · 499 阅读 · 0 评论 -
JavaScript格式化数字
格式化数字:小数点前每三位添加逗号,小数点后不改变介绍两种常用的格式化数字的方法:字符串方法 字符串replace+正则表达式 function toThousands0(item){ var item0=item.toString(); var dot=""; if (item0.indexOf(".")!=-1) { do...原创 2019-05-13 09:55:50 · 3495 阅读 · 0 评论 -
JavaScript链式操作
参考了js实现链式操作,特此声明。jQuery最经典的就是链式操作了,为什么能实现链式操作呢?原理就是每次操作后都返回this。而jQuery主要是对dom元素的操作,多数并不会返回其他值所以最后可以返回this继续进行下一步操作。链式操作其实就是使编程的流程更加清晰,包括同步以及异步操作。promise同样也是使用链式操作实现异步调用。实现效果:function People(...原创 2019-05-13 10:42:37 · 524 阅读 · 0 评论 -
JavaScript颜色转换
最近在刷scriptOJ上面的题目遇到了将16进制颜色转换成rgb格式的题目特此记录一下:const hexToRGB = hex => { hex=hex+""; hex = hex[0] === '#' ? hex.slice(1) : hex hex = hex.length === 3 ?(hex[0]+hex[0]+hex[1]+hex[1]+hex[2]...原创 2019-05-21 20:35:25 · 1180 阅读 · 0 评论 -
offsetWidth&offsetLeft详解
今天手写方格移动的时候遇到了一点问题,主要是针对el.style.left和el.offsetLeft无法区分,其实这个问题一直以来没有具体总结过,只在我的学习笔记(7)里面进行过一次不完全的概述,这次rearrange一下offsetWidth&offsetLeft详解文章目录offsetWidth&offsetLeft详解快捷位置和尺寸offsetWidth,clien...原创 2019-08-30 16:27:26 · 2307 阅读 · 0 评论 -
jQuery原理篇
jQuery的核心:$即jQuery的别称,$()函数用于将任何对象包裹成jQuery对象,之后允许调用定义在jQuery对象上的任何方法。即jQuery不仅仅是一个类,也是一个普通的对象,在jQuery本身的属性中还增加了一系列的方法:Ajax、each、工具。$实现的源码如下: (function(w){ //工厂 function jQuery...原创 2019-05-16 23:41:15 · 326 阅读 · 0 评论 -
学习笔记(12)涉及 GPU 加速
best wishes for myself学习笔记(12)文章目录学习笔记(12)htmlinput & textarea区别如何让textarea变成富文本编辑器呢css如果不设置内边距和外边距,默认是什么状态呢?详解z-index和position的关系参与关系顺序规则定位规则默认值规则从父规则GPU加速如何开启GPU加速GPU加速优势浏览器渲染一个页面的步骤javascri...原创 2019-10-10 23:42:16 · 345 阅读 · 0 评论 -
学习笔记(10)
学习笔记(10)文章目录学习笔记(10)react组件的划分展示型组件展示型组件+容器型组件容器型组件展示型组件+容器型组件其他分类方法类与函数组件有状态与无状态组件纯组件与非纯组件promise关于promise.all的源码tcp三次握手的具体内容tcp四次挥手的具体内容注释如下js的event-loop事件循环机制cookie和session的区别cookie和session-IDsess...原创 2019-08-27 23:36:33 · 231 阅读 · 0 评论 -
javascript浮点数
javascript浮点数js里面如果你去打印 console.info(0.1+0.2===0.3); 那必定是false,为什么呢?接下来一起看一下references:关于JavaScript中浮点数比较的问题JavaScript 浮点数运算的精度问题JavaScript如何判断参数为浮点型Json.NET特殊处理64位长整型数据文章目录javascript浮点数javas...原创 2019-09-15 20:38:16 · 1097 阅读 · 0 评论 -
进程-线程-js单线程event-loop
进程-线程-js单线程event-loop文章目录进程-线程-js单线程event-loop关于eventLoop关于宏任务和微任务vue.$nextTicknextTick的由来:nextTick的触发时机:应用场景:进程和线程进程与线程进程线程进程与线程CPU多进程和多线程浏览器多进程架构浏览器内核,渲染进程js单线程浏览器的渲染过程普通图层和复合图层references:多进程浏览...原创 2019-09-13 17:01:19 · 286 阅读 · 0 评论 -
学习笔记(7)
学习笔记(7)文章目录学习笔记(7)移动端手势缩放requestAnimationFramerequestAnimationFrame优势offsetWidth clientWidth等区分无状态组件,纯组件的一些理解无状态组件纯组件api sdk的理解APISDK通俗语言解释:API:SDK:405状态码移动端手势缩放pinchzoom能够实现,但它大量的操作dom节点,在react中引入...原创 2019-08-05 15:57:50 · 272 阅读 · 0 评论 -
原生轮播图实现代码
.container{ position: relative; width:300px; height:250px; border:solid 2px red; overflow: hidden; } .wrap{ position: absolute; width: 2100px; height: 250px; z-index: 1; } .wr...原创 2019-08-29 11:50:52 · 144 阅读 · 0 评论 -
javascript排序算法
javascript排序算法以下是JavaScript实现各种排序算法,并在文末对各种排序进行简单比较。文章目录javascript排序算法简单排序高级排序冒泡排序:选择排序:插入排序:希尔排序:快速排序:归并排序:堆排序堆排序的时间复杂度分析思考堆排序的稳定性什么是稳定排序?简单排序冒泡排序选择排序插入排序高级排序希尔排序快速排序归并排序堆排序冒泡排序:特...原创 2019-08-29 22:04:34 · 387 阅读 · 0 评论 -
JavaScript实现栈、队列、链表
栈:后进先出;栈顶(表尾)移除,栈顶添加,只能访问栈顶元素(peek方法);function stack(){ var items=[]; this.push=function(ele){//添加,注意不返回新数组的长度; items.push(ele); }; this.pop=function(ele){//移除栈顶元素并且...原创 2019-05-08 21:06:05 · 500 阅读 · 0 评论 -
数据结构 javascript 描述[Data-Structure described byJavaScript]
是对很久之前的一篇关于用javascript实现常见数据结构的一个整理,其中添加了一些常见的数据结构的应用,以后会陆续加入数据结构javascript描述文章目录数据结构javascript描述栈实现双栈排序栈特点:后入先出只能访问栈顶实现function Stack() { this.dataStore = []; this.top = 0...原创 2019-08-31 11:46:51 · 689 阅读 · 1 评论 -
学习笔记(3)
文章目录学习笔记(3)定位问题charles使用Windows10无法修改host问题为什么要修改host?react-redux使用问题关于高阶组件关于强制刷新 store中值丢失rc-form表单自定义输入校验css样式问题移动端显示toolTip:SEO基础知识input type=file的一些使用仍然是 flex布局使用获取url参数react 中input 的defaultValue和...原创 2019-07-08 18:16:27 · 376 阅读 · 0 评论 -
学习笔记(5)
学习笔记(5)nrm作用:管理npm源nrm管理npm源nvm:作用:管理node版本nvm、nrm、npm 安装和使用详解css一些应用画三角形的延申应用:画一个倾斜的标签 // less语法 @size:10px; .activity { position: absolute; top: 8px; left: -2...原创 2019-07-23 19:28:45 · 387 阅读 · 0 评论 -
javascript数组扁平化总结
做过的项目里其实对于数组降维用到的基本没有,所以这次整理的也比较晚,按我的思路总结了一些博客里的常用降维方法,以上。javascript数组扁平化总结文章目录javascript数组扁平化总结含义数组flat方法转换成字符串join+splittoString()+split递归+数组的其他API递归+reduce递归+forEachreferences:JavaScript数组扁平化...原创 2019-09-03 10:41:30 · 190 阅读 · 0 评论 -
详解前端路由
概念:简单一句话:页面跳转的规则。 用途:路由就是随着浏览器地址栏的变化,展示给用户的页面也不相同。 实现原理:URL到函数的映射。发展历程:后端路由:又称服务器端路由。简单来讲就是:接收到客户端发来的http请求(get/post请求)-->根据请求的URL找到相应的映射函数,映射函数更像一个数据读取操作,譬如静态资源服务器而言,所有URL的映射函数是一个文件读取操作,而对...原创 2019-05-17 21:48:16 · 429 阅读 · 0 评论 -
javascript 垃圾回收机制
参考js高程(javascript高级程序设计)中的内容做了如下归纳整理javascript 垃圾回收机制文章目录javascript 垃圾回收机制js垃圾收集特点标记清除引用计数内存管理优化内存占用其他闭包-内存泄漏js垃圾收集特点自动垃圾收集机制,即执行环境会负责管理代码执行过程中使用的内存。两种垃圾收集方式:标记清除特点:变量进入环境后标记为“进入环境”,变量离开环境...原创 2019-09-03 18:09:51 · 156 阅读 · 0 评论 -
JavaScript正则
有关正则:\d表示匹配数字 ()表示分组,分组一般和$1 $2...一起使用表示匹配的第一个分组第二个分组JavaScript正则表达式之分组匹配 / 反向引用 []表示范围,eg:[0-9] [a-z] [A-Z],组合类则为[0-9a-z] 量词:{m}m次,{m,n}大于等于m小于等于n,{m,}表示大于等于m次,?={0,1},+={1,} notice: 没...原创 2019-06-15 18:52:10 · 209 阅读 · 0 评论 -
JavaScript字符串方法
str.length返回字符串长度 str.charAt();返回某个位置的字符 str.indexOf();某个字符第一次出现的索引 str.slice();开始到结束(不包含)索引,没有第二个参数表示从开始到最后 str.substr();开始,长度 str.substring();开始,结束 str.split();按拆分内容形成数组,在里面也可以用正则三个字符串方法比较 ...原创 2019-05-13 10:08:25 · 227 阅读 · 0 评论 -
学习笔记(1)
2019/06/17-2019/06/23学习笔记原创 2019-06-23 12:07:59 · 415 阅读 · 0 评论 -
fetch请求
温故而知新,这篇文章是对我在学习笔记(5)中关于fetch的一次重新整理。fetch请求文章目录fetch请求参数与ajax的不同点:fetch之处理超时请求xhr设置请求超时fetch设置请求超时关于eventLoopreferences:异步请求与FetchsetTimeout的延迟时间,是从什么时间段开始算起的?关于async/await、promise和setTimeout...原创 2019-09-12 11:48:04 · 1627 阅读 · 0 评论 -
javascript数组去重总结
javascript数组去重前段时间项目里用过一些去重的方法,一般比较便捷的用new Set就可以了,当然这也是面试中常问的一个问题,常见方法大同小异,下面对以前整理过的内容,从性能方面再做一次rearrangereferences:JavaScript 高性能数组去重JavaScript数组去重(12种方法,史上最全)7种方法实现数组去重for of+object利用了对象统计...原创 2019-08-28 23:34:50 · 171 阅读 · 0 评论