1、img标签的title和alt属性有什么区别?
- alt:图片加载失败时,显示在网页上的替代文字
- title:鼠标(手机端该属性无意义)放在图片上时显示的文字
- alt是必需属性(但属性值可为空),title非必需
2、图片懒加载原理
图像是imng标记,浏览器根据图像的src属性请求图像,因此惰性加载的关键是当图像不在可视区域时,不给imgs‘赋值。
懒加载的思路及实现代码详见js实现图片懒加载原理
3、父元素高度塌陷的解决方案
1.给父元素设置 overflow:hidden
2.利用伪元素
div::after {
display: block;
content: "";
clear: both;
}
3.添加一个div
<style>
.cf {
clear: both;
}
</style>
<div>
.......
.......
<div class="cf"></div>
</div>
4.var,let,const的比较?
var声明变量存在变量提升,let和const不存在变量提升
let、const都是块级局部变量
const定义的是常量,值无法改变,且必须一开始定义就初始化
同一作用域下let和const不能声明同名变量,而var可以
5.有哪些数据类型?
值类型(基本类型):
字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。
引用数据类型:
对象(Object)、数组(Array)、函数(Function)。
6、判断数据类型的方式有哪些
typeof
instanceof
constructor
Object.prototype.toString.call()
7、数组去重的方式
1、使用set
2、使用 filter()
3、使用 reduce()
const array = [' ', 1, 2, ' ',' ', 3];
// 1: "Set"
[...new Set(array)];
// 2: "Filter"
array.filter((item, index) => array.indexOf(item) === index);
// 3: "Reduce"
array.reduce((unique, item) =>
unique.includes(item) ? unique : [...unique, item], []);
?// RESULT:
// [' ', 1, 2, 3];
8、SVG和CANVAS的区别?
SVG
表示以XML格式定义图像的可伸缩矢量图形。
CANVAS
通过 JavaScript 来绘制 2D 图形。
9、在浏览器中输入一个网址后,发生了什么?
第一步 浏览器通过DNS查找该域名的 IP 地址
第二步 浏览器根据解析得到的IP地址向 web 服务器发送一个 HTTP 请求
第三步 服务器收到请求并进行处理
第四步 服务器返回一个响应
第五步 浏览器对该响应进行解码,解析html为dom、解析css 为css-tree、dom+ css 生成render-tree 绘图
第六步 页面显示完成后,浏览器发送异步请求。
第七步 整个过程结束之后,浏览器关闭TCP连接。
10、如何理解同步和异步?
同步:按照代码书写顺序一一执行处理指令的一种模式,上一段代码执行完才能执行下一段代码。
异步:可以理解为一种并行处理的方式,不必等待一个程序执行完,可以执行其它的任务。
JS之所以需要异步的原因在于JS是单线程运行的。常用的异步场景有:定时器、ajax请求、事件绑定。
11.HTML5的离线储存?
localStorage 长期存储数据,浏览器关闭后数据不丢失;
sessionStorage 数据在浏览器关闭后自动删除。
12、什么是闭包?闭包的特性是什么?
闭包是能够读取其他函数内部变量的函数
要理解闭包,首先必须理解Javascript特殊的变量作用域
闭包的特性:
1.封闭性
:外界无法访问闭包内部的数据,如果在闭包内声明变量,外界是无法访问的,除非闭包主动向外界提供访问接口;
2.持久性:一般的函数,调用完之后,系统会自动注销函数,而对于闭包来说,在外部函数被调用之后,闭包依然存在。
13.get与post的区别
1.GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。
2.GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),POST把提交的数据则放置在是HTTP包的包体中。
3. 因此对于GET提交时,传输数据就会受到URL长度的限制。 POST:由于不是通过URL传值,理论上数据不受限。
4.安全性:POST的安全性要比GET的安全性高。
14、常用那几种浏览器测试?有哪些内核(Layout Engine)?
(Q1) 浏览器:IE,Chrome,FireFox,Safari,Opera。
(Q2) 内核:Trident,Gecko,Presto,Webkit。
15、css水平、垂直居中的写法,请至少写出4种?
这题考查的是css的基础知识是否全面,所以平时一定要注意多积累
水平居中
行内元素: text-align: center
块级元素: margin: 0 auto
position:absolute +left:50%+ transform:translateX(-50%)
display:flex + justify-content: center
垂直居中
设置line-height 等于height
position:absolute +top:50%+ transform:translateY(-50%)
display:flex + align-items: center
display:table+display:table-cell + vertical-align: middle;