发布了文章2021-05-28
【译】打地鼠:纯CSS版本实现一个具有拖拽功能的跑马灯数值滚动效果实现方案,支持可视范围判断
发布了文章2021-04-01
但如果考虑到按钮文本长度不一样的时候,如需要适配多语言的时候,由于不同语言,长度未必相同,都设置100px的话有可能短的文案,按钮显得过长,唱的文案,按钮显得过短,甚至文案比按钮还长,而增加宽度的话又会影响短文案的展示,最终可能需要针对不同语言设置不同...
发布了文章2020-12-10
CommonJS最开始比较成熟的模块化思想是来自CommonJs其主要应用于Node.js每个文件就是一个Module实例通过require引入,通过moudule暴露内容每个模块被加载一次后会被缓存,所以文件中除了暴露内容外,一些同步逻辑(如console.log)只会触发一次文件的加载是同步进行...
发布了文章2020-12-03
打包原理简单讲就是生成ast语法树,根据语法树生成对应的js代码这里仅分析打包输出的结果,从结果分析webpack对我们代码做了啥分析入口文件 {代码...} 依赖文件 {代码...} 打包结果 {代码...} 可以看到bundle.js是一个自执行函数,入参就是main.js和show.js改造后的...
发布了文章2020-12-03
业务模块分开,整体业务流由多个单页面组成,如:还款途中,需要绑卡,设置交易密码,或者还需要修改手机号码,最后一系列操作后回到还款页面提交还款,整个流程在多个页面间跳转,单页面的数据无法得到保存,故需要一套多页面的数据缓存方案。
发布了文章2020-12-01
Diffdiff对比的就是vnode同时由于dom很少跨级移动,所以对比只在同层级中进行vue和react的diff算法大体是一样的VNodevue的vnode如下 {代码...} react的vnode如下 {代码...} Vuevue的diff是边比较边更新的过程更改数据时,触发试图更新,会生成一棵新的vdom树对比同级...
发布了文章2020-11-30
防范手段无论何时,只允许提交一次报文,每次请求带上一个随机数,当服务器接收到请求时,判断之前是否有收到相同的请求,有的话则认为是重放,拒绝请求,但这种方法有个缺点,就是是数据库需要记录大量的历史请求(随机数)
发布了文章2020-11-30
http是无状态链接,即他只管链接,不管你们之前是否链接过,故通常通过设置cookie来记录用户的登录状态,服务器生成session来用记录用户登录的上下文,并生成sessionId来唯一标识这条记录,然后将其放到响应头李,后续浏览器发起请求再次带上该请求头,即可分辨其用...
发布了文章2020-11-18
产生原因存在设备像素比: {代码...} 设备像素是物理像素,也就是屏幕上有多少个逻辑点受你控制设备独立像素是逻辑像素,可以理解成屏幕的长宽DPR等于2即表示,1px的宽度,用了屏幕里的两个像素点来显示CSS代码里写的像素,在移动端,对应的就是物理像素而由于UED出...
发布了文章2020-11-17
结构Tire树又称前缀树,或字典树,一般用来保存字符集以及查询词句Tire树由根节点开始,根节点保存value为null,以及指示子节点的数组children根节点以后,每个节点保存一个单词,由children关联,这样从根节点开始向下遍历,就可以查到完整的词句而具有相同前缀的词...
发布了文章2020-11-11
p1和p1-t1不难理解,整体代码块是一个macro-task,promise实例化过程中传入的函数会立马执行,故先输出p1,然后记录then里的回调,等待res被执行,排入micro-task队列里,故第二个输出的是p1-t1
发布了文章2020-11-01
目前网上针对angular,有很多可以直接使用的UI以及控件框架,其中也包括Table控件,只需在html中使用定义的tag,并传递数据集以及其他等属性值,就可以简单创建一个Table;
发布了文章2020-10-29
es6的extends class {代码...} 原型链继承 {代码...} 这种方式的继承,不能动态给父类传参,一旦建立联系,就必须确认new Teacher时的入参;同时由于是直接把父类实例付给子类原型,后续子类的所有实例都共享父类实例中的属性,即任何一个子类实例修改gender都会影响...
发布了文章2020-10-27
递增/递减(++/--)应用在含有效数字的字符串时,先转换成数字,再加或减不含有效数字的字符串,变成NaN布尔值先转数字再加减浮点数直接加减对象上,先调用valueOf()方法,应用上述规则,结果是NaN的话,再调用toString()方法,应用上述规则加(+)数字加数字直接...
发布了文章2020-09-27
可以看到class定义的类,内部的constructor函数和function定义的Person是一样的,通过new进行实例化的时候,function是调用他自己,而class则是调用其内部定义的constructor函数;
发布了文章2020-09-23
vue收集依赖机制通过Object.definedproperty来设置观察属性的setter和getter通过getter收集依赖,通过setter触发依赖更新与收集依赖相关的三个类Observer,观察对象,其变化时会通知观察者Watcher,观察者,观察观察对象,依赖收集对象,观察对象变化时会被通知,同...
赞了回答2020-08-27
在开始之前你应该去看看http状态码200和304分别代表什么,前者是正常从服务器加载资源(也就是无缓存),后者是发送一个etag和last_modified到服务器,验证是否使用客户端缓存,然后服务器返回304代码(也就是说304就是客户端缓存)
赞了文章2020-08-26
关键词:多进程、单线程、事件循环、消息队列、宏任务、微任务看到这些词仿佛比较让人摸不着头脑,其实在我们的日常开发中,早就和他们打过交道了。我来举几个常见的例子:我执行了一段js,页面就卡了挺久才有响应我触发了一个按钮的click事件,click事件处理器做出...
发布了文章2020-08-18
为什么会有跨域问题是因为浏览器的同源策略限制了,A域名下的网址,无法获取B域名下的资源,这里的资源指:DOM及JS对象,脚本发起的ajax请求,以及cookie和sessionstorage/localstorage跨域指域名、端口、协议三者中有一个不一样绕过跨域一、jsonp通过某些标签的src...
发布了文章2020-08-17
Promise其实就是一个类,内部保存着回调队列,通过暴露resolve和reject方法触发对应回调内部有三种状态值,pending,fulfiled,failedPromise是微任务,与settimout等宏任务有差别,执行顺序时是,先主线程,然后微任务,然后宏任务有以下几种方法:then, catch, all...