从浏览器解码看xss

2021-03-11
阅读 3 分钟
2.4k
HTML词法解析细则在传送门 下面不会详细介绍所有内容,只会解释HTML解释器这个状态机是如何工作的,HTML解析器作为一个状态机,它从输入流中获取字符并按照转换规则转换到另一种状态。在解析过程中,任何时候它只要遇到一个<符号(后面没有跟/符号)就会进入“标签开始状态(Tag open state)”。然后转变到“标签名状态(T...

HTTP2的一点浅显理解

2021-01-08
阅读 2 分钟
1.3k
2.0 性能增强的核心在于全新的二进制分帧层,它定义了如何封装http消息并在客户端和服务端之间传输。1.x 中以换行符作为分隔符,2.0 将信息分割为更小的消息和帧,并进行二进制编码,再将这些独立的帧交错发送,再另一端重组,解决了1.x中存在的队首阻塞。(无端联想:重组时候是不是使用类似二叉堆的数据结构)(解决了...

2020春季1-3年前端面经

2020-07-09
阅读 5 分钟
1.2k
z-index只作用于被定位了的元素上,还有就是子元素的z-index会被父的值覆盖(准确的说应该是使用z-index后,父元素和子元素处在不同的层叠上下文中,他们的z-index应该分别与他们的兄弟元素比较。)。

为什么存在同源策略?

2020-06-18
阅读 3 分钟
3.2k
说起跨域,你可能知道JSONP,CORS,http proxy,nginx等,那为什么会存在跨域,你可能知道因为同源策略,那为啥会有同源策略呢。

浅析Vue中keep-alive实现原理以及LRU缓存算法

2019-09-27
阅读 4 分钟
5.9k
本文涉及源码版本为 2.6.9 keep-alive {代码...} 组件的定义很平常,不过其中abstract属性在官方文档中并未提及,后面的渲染过程中会用到。 created中初始化存储缓存的cache对象,和缓存的VNode的键的数组。 mounted中监听黑白名单变动对缓存进行更新,其中pruneCache定义如下 {代码...} 就比如include是['a', 'b'],而且这...

从源码切入Vue双向绑定原理,并实现一个demo

2019-09-01
阅读 8 分钟
990
down一份Vue源码,从package.json入手,找我们需要的代码1、package.json中的scripts,"build": "node scripts/build.js"2、scripts/build.js line26 build(builds),其中builds的定义为11行的let builds = require('./config').getAllBuilds(),这个大概就是打包的代码内容,另一个build是在下面定义的函数,他的代码是...

一篇字节跳动前端面经

2019-08-01
阅读 8 分钟
7.5k
hr小姐姐说一共有1轮笔试 + 3轮技术面 + 1轮hr面,面试地点在中关村天使大厦,岗位是1-3年前端,时间是2019年8月笔试笔试分为多选 简答 判断 手写代码四部分,下面只写了印象比较深的几道。多选1、position为relative的元素可以使用top和left进行定位吗答:可以。我自己没见过这种写法,就没敢选,然后错。2、以下哪个是...