还没查阅过 ECMAScript 规范?那就让我们一起来开始吧! 作为前端搬砖中精通 Copy & Paste 的一员,如果你还没有查阅过 ECMA262 的规范文档,那么建议后续遇到有些问题的时候,可以试着往这方面靠,如果刚好可以查阅一下,那...
一起来做小程序直播吧! 直播这两年太火了,做直播的公司也越来越多,尤其是今年小程序针对直播组件的优化(性能优化 + 同屏渲染),催生了很多的小程序直播应用。京喜直播的小程序端上线也有几个月了,基于内部分享,当前...
手把手用 UDP 实现 Node 服务日志归集(附完整源码) 日志归集:顾名思义,就是把日志归集起来。在开发 Node 服务的时候,我们经常会打印各种日志,比如 info, error 日志。如果我们已经将服务已经部署了很多机器上,这个时候如果需要...
简明扼要聊聊 Vue3.0 的 Composition API 是啥东东! 对于没太了解 Vue3.0 的同学,在看到 Composition API 时,除了看起来会有一个“高大上”的感觉,可能更多的是有点懵逼,心中不免泛起一堆疑惑,这到底是何方神圣?干了何等...
面试官:用一句话描述 JS 异常是否能被 try catch 捕获到 ? 平常撸代码的时候,try catch 用的太多了,特别是一些 ”安全感" 低的人,基本是到处 try catch,生怕 JS 报错,然后页面整个挂掉了。其实为啥会安全感低呢,是因...
这个正则表达式有点意思!既简单又难 感谢正在读高中的@Alan-Liang 分享的题目。不看答案,试着想下如下题的结果是什么?console.log("more".replace(/.*/g,"p...
对阮一峰《ES6 入门》箭头函数 this 描述的探究 前言前天,发了一篇公众号文章:原文链接:别低估自己,但,这道题,真的有点难昨日在部分群里引起了一些讨论,其中有一点是关于箭头函数的 this 指针的问题。使用了阮一峰《ES6 入门》文章...
别低估自己,但,这道题,真的有点难 今天一个朋友转给我一道题,让我帮忙解释解释。当我看到题目的时候,第一眼觉得贼简单,但是看提问越到后面越懵逼了,然后在琢磨着能不能猜对了…………题目如下:varage=10;var...
不得不全部掌握:XSS 最全攻防之战! 背景为了提高页面性能,减少白屏时间,我的详情页面接收上游列表传过来的一个参数 cover,这是一张在上一个列表页面已经加载过了的图片链接,当跳转到我的页面时,首先将这张图片显示出来(浏览...
H5 直播的疯狂点赞动画是如何实现的? 直播有一个很重要的互动:点赞。为了烘托直播间的氛围,直播相对于普通视频或者文本内容,点赞通常有两个特殊需求:点赞动作无限次,引导用户疯狂点赞直播间的所有疯狂点赞,都需要在所有用户界面都动...
H5 直播的疯狂点赞动画是如何实现的?(附完整源码) 直播有一个很重要的互动:点赞。为了烘托直播间的氛围,直播相对于普通视频或者文本内容,点赞通常有两个特殊需求:点赞动作无限次,引导用户疯狂点赞直播间的所有疯狂点赞,都需要在所有用户界面都动画展现出来我们先来看效果图:从效果图上我们还看到有几点重要信息:点赞动画图片大小不一,运动轨迹也是随机的点赞动画图片都是先放大再匀速运动。快到顶部的时候,是渐渐消失。收到大量的点赞请求的时...
别高估自己,这道题,有点难! 今天在一个技术群里面,有朋友丢了一道题目,问这个输出是啥?粗略一看,输出都是 21 啊,你以为加个 if(true),大伙就不知道了?然后,就没有然后了…………“光荣”的答错了!正确答案:内部是 21,外部是 1;这个玄妙之处确实就在这个块级作用域 if 里面。假如我们去掉 if 看题。var a = 0;// if(true){ a = 1;function a(){}a...
深度揭秘 Promise 微任务和执行过程 本文一步一步深入解读 Promise 的注册和执行过程,读懂这几段代码,Promise 的注册和执行过程都将所向披靡,不再话下~~~~。你就是 Promise 大神!~~。当然了,就没人能误导你了~前言本文已代码解读的方式来学习整个过程。这里提供了四段代码,如果你都能理解清楚,正确的说出output过程,那么厉害大牛如你,Promise 的执行过程了如指掌。好多大牛已经熟悉了,当然了,并不是...
vue3.0编译器compiler-core源码解析 Vue3的源代码正在国庆假期就这么突然放出来了,假期还没结束,陆陆续续看到努力的码农就在各种分析了。目前还是 pre Alpha,乐观估计还有 Alpha,Beta版本,最后才是正式版。话不多说,看 Pre-Alpha。 瞧 compiler-core热门的 reactivity 被大佬翻来覆去再研究了,我就和大伙一起来解读一下 ”冷门“ 的 compiler 吧!????????????????如果你对 AS...
手把手教你写一个AST解析器 AST 解析器工作中经常用到,vue中的VNode就是如此!其实如果有需要将 非结构化数据转 换成 结构化对象用 来分析、处理、渲染的场景,我们都可以用此思想做转换。如何解析成 AST ?我们知道 html 源码只是一个文本数据,尽管它里面包含复杂的含义和嵌套节点逻辑,但是对于浏览器,babel 或者 vue 来说,输入的就是一个长字符串,显然,纯粹的一个字符串是表示不出来啥含义,那么就需...
新手引导蒙层的多种实现方式 当前发现很多页面做蒙层引导,还是使用图片形式来做。图片引导蒙层有几大缺点:图片大,影响加载图片的内容都是假的,和真实的底部内容没对上全屏蒙层图片,图片的宽高和屏幕宽高不一致,显示两边留黑,或者有压缩的效果。图片的引导位置不能点击。low ? not cool ?本文讲述三种思路来实现引导蒙层border实现box-shadow实现z-index + opacity实现...
H5&小程序中实现emoji表情 emoji表情都非常熟悉了,比如微信的会话窗口可以发表情。但是仔细看有一个重要的发现,比如朋友给你发一个emoji表情,在聊天会话列表页查看最近消息,会发现有点不同,体现在如下:列表页看到的就是一个表情,比如大笑????的表情。列表页看到的是一个文字,比如[发呆],[懵逼]前者就是默认emoji表情了,后者则是自定义表情。显然你拿着微信的[懵逼]在微博上是显示不出微信的[懵逼]表情的...
非结构化的富文本数据在小程序中的实践 结构化的数据比较容易处理,按内容渲染即可。这篇着重讲非结构化的数据在小程序的显示。主要有三部:将html字符串转换为AST 语法树将AST 语法树的结构化数据渲染wxml处理图片和预览大图第一步:转换为 AST 语法树后端返回的是一个字符串,首先我们需要转换成结构化的数据对象。字符串转换成对象,有且只有一种了,使用正则表达式来查找字符串当中 Html 标签等信息了。首先我们来看三个...
vuejs模板和vnode的diff基本过程 模板方法注册core/instance/index.js (renderMixin) —》 core/instance/render.js(renderMixin) 里面执行方法installRenderHelpers(Vue.prototype)core/instance/render-helper/index.jsexport function installRenderHelpers ...