1.简述HTTP的请求过程。
域名解析->发起TCP的3次握手->建立TCP连接后发起Http请求->服务器端响应http请求,浏览器得到数据->浏览器解析数据->断开TCP连接。
2.对闭包的理解和闭包的原理。
blog.csdn.net/u011411356/article/details/50208433
3.cookies,sessionStorage,localStorage的理解。
cookie是网站为了标识用户身份而存储在用户本地终端上的数据,在浏览器和服务器来回传递,数据大小不超过4K,有效时间为设置的cookie过期时间之前。
sessionStorage和localStorage不会自动把数据发给服务器,仅在浏览器上保存,数据大小根据浏览器而定,大约5M,localStorage存储持久数据,用户不主动删除则一直存在,sessionStorage当前浏览器关闭后自动删除。
4.call和apply的区别。
通过call和apply可以重新定义函数的执行环境,改变this的指向。call扁平的把每个参数传进去,apply是把参数作为一个数组传进去。
5.如何美化radio,checkbox按钮样式。
利用opacity设置为0来重新绘制样式。
6.如何优化性能。
减少http请求次数,css压缩,图片制作成css sprite, cdn托管,把ajax请求结果保存,每次操作本地变量。用innerHTML代替Dom操作。当前设置样式很多时,设置className而不直接操作style。少用全局变量。
7.JS的类型有哪些和区别?
ECMAScript包含两个不同类型的值:基本类型和引用类型。基本类型指的简单的数据段;引用类型指由多个值构成的对象。
基本数据类型:undefined,null,boolean,number,string,symbol。
引用数据类型:Function,Object,Array....有很多。
8.在移动端如何画出一条小于1像素的线。
可以使用transform:scale(),来使1px的线缩小到我们需要的值。IOS8以上支持0.5px。如何要考虑兼容性,可以使用图片来实现。
9.var a = 'add';
if ([]) {
console.log(3+5+a)
} else {
console.log(a+3+5)
}
10.在vue,angular,react中子组件如何向父组件传值。
待续...
网友评论