【秋招前端问题汇总】陈小菜的秋招笔记

·  阅读 103

问题如下

监控img src加载出错

图片加载失败替换src的方式

判断flex兼容性

if ('flex' in document.documentElement.style)

外边距重叠-margin-collapse

当相邻元素都设置了margin边距时,都是正值时,将取最大值,舍弃小值。 都是负值时,取绝对值最大的,从0开始负向位移; 有正有负时,先取负中绝对值最大的,和正值中最大的margin相加;

解决办法: 给该元素加父元素,并且使其为BFC,overflow:hidden

箭头函数

和this同样没有被箭头函数绑定的参数有:arguments、super、this、new.target

箭头函数没有构造函数:常规函数有Construct和函数属性,

而箭头函数没有,所以 new (() => {}) 会报错

js 函数的内部属性

  1. arguments: 类数组对象,包含传入的所有参数,其中callee属性,是个指针,指向拥有这个arguments对象的函数
  2. this:函数执行的环境对象,在全局中调用为(window)
  3. caller:调用当前函数的函数的引用

缓存

Expires:Thu,01 Dec 1994 16:00:00 GMT(必须是GMT格式) 设置为-1,表示立即过期。指定的是一个绝对的过期时间。 在http1.0中已定义,cache-control:max-age在http1.1中才有定义,为了向下兼容,仅使用max-age是不够的。 max-age指定的是从文档被访问后的存活时间,相对于文档第一时间被请求时服务器记录的request-time。

异步加载js的方式

除了defer、async。 1,动态脚本文件document.creatElement('script').async,动态加载script标签引入js文件默认不会阻塞页面(即使在head里),也可以使用document.createElement('link')引入资源,默认在Chrome中不会阻塞。 2,ajax获取js代码,eval执行。不推荐。eval不安全,耗性能(2次,一次解析,一次执行)

IE各版本和chrome可以并行下载多少个资源

IE6,2个。IE7之后6个,Chrome,FireFox也6个。

Ajax的过程

1,创建XHR对象,2,创建一个新的http请求,并指定该请求的方法和url以及验证信息,3,设置响应http请求状态变化的函数,4,发送http请求,5,获取异步调用返回的资源,6,使用JavaScript和DOM实现局部刷新; onreadyState属性状态,5个值: 0= 未初始化,1= 启动,2= 发送,3= 接收,4 =完成

内存泄露的方式

1,闭包 2,setTimeout第一个参数使用字符串而非函数 3,控制台日志 4,对象彼此引用且相互保留,产生循环

BFC触发方式

1, floatnone 2, overflowvisible 3, display的值为table-cell,table-caption或者inline-block 4, positionrelative和static

隐藏元素方式

1,display:none,不会占有原来的位置 2,visibility:hidden,占有原来的位置 3,H5新增hidden=‘hidden’,不会占有原来的位置

TCP和UDP区别

1,TCP面向连接,UDP发送数据前不需要先建立连接 2,TCP提供可靠的服务,通过TCP传输的数据无差错,不丢失,不重复且按序到达; UDP尽最大努力交付,不保证数据可靠; 3,TCP面向字节流的,UDP面向报文且网络出现拥塞不会使得发送速率降低(因此会出现丢包,对实时的应用IP电话或视频会议等) 4,TCP 1V1,UDP 1V1,1V多 5,TCP首部20字节,UDP8字节

http2 和 http1.1区别

http1.1默认长连接,connection:keep-alive

分类:
前端
标签:
分类:
前端
标签:
收藏成功!
已添加到「」, 点击更改