1.什么是 SEO?
SEO(Search Engine Optimizing) 搜索引擎优化 , 就是让搜索引擎去抓取我们的网页。 为了让搜索引擎抓取我们的网页 , 我们可以在书写代码的时候做一些工作, 比如合理设置网页 title( 标题 ), keywords( 关键字),description( 描述 ); 因为搜索引擎在抓取到网页以后首先回去分析这几个关键信息。
2.你了解到的网站攻击方式有哪些 ?
常见的网站攻击方式有 xss(跨站脚本攻击), csrf(跨站请求伪造)。
3. Js 是单线程还是多线程?
单线程 , 单位时间内只能处理一个进程。
4. Js 是如何实现异步操作的?
Js 虽然是单线程的 , 但是浏览器是多线程的 , js 中的异步操作基本都是由浏览器提供的子线程来完成的。
5. 什么是页面的回流和重绘?
回流 是指当页面的结构或者标签的尺寸发生变化的时候, 浏览器需要对页面进行重排, 并重新渲染。重绘 是指当页面上的标签的外观(比如字体颜色,或背景颜色)发生改变的时候, 浏览器需要重新对页面进行渲染。所以回流一定会引起页面的重绘, 重绘不一定会引起回流。要提高页面性能, 就要尽可能的减少页面的回流和重绘。
6. 移动端点击事件会有多少秒的延时?什么原因造成的?如何解决?
移动端的点击事件会有 300ms 的延时 ;是因为浏览器为了保留双击缩放的功能所造成的 , 早期浏览器都有一个双击缩放的功能, 在用户点击一次以后 , 浏览器会等待第二次点击 , 如果用户在 300ms 内进行了第二次点击 , 那么浏览器就会执行缩放的功能, 如果 300ms 内没有再次点击 , 则会当做 单击事件处理 ;解决方案:使用 touch 触摸事件来模拟点击事件 ; 使用 fastclick 插件来解决 ; 静止页面缩放功能。