前端高阶问题汇总

HTML

CSS

1.什么是BFC

block formatting context,不是none的浮动元素,绝对定位元素,inline-block,table-cell,table-caption和overflow值不是visible的块级盒子

为自己的内容建立一块新的排版上下文,盒子的垂直方向由margin决定,同属一个BFC相邻的盒子的margin会发生重叠,BFC区域不会与float box重叠,

它是一个隔离的独立容器。解决方法有overflow:hidden,清除内部浮动是父元素的高度计算浮动子元素

2.什么是外边距合并

块级父元素的第一个和最后一个的margin,相邻元素的margin,空块元素的margin会出项边距合并

3.什么是flex布局,有什么好处

弹性布局,可以省去常用的position定位的布局形式导致页面错位

JAVASCRIPT

1.排序,找出最大三个数

2.继承的实现方式

3.创建实例对象的内部过程

第一步创建一个新的空对象,第二步将新对象的原型指向构造函数的原型,第三步执行构造函数,当this被执行时候,使用新创建的对象的属性,第四步返回新创建的对象

4.构造函数的prototype指向什么?和实例对象的prototype有什么关系?

4.bind函数实现

HTTP

1.url长度为什么受限制

http协议未明确对url进行长度限制,但在真正实现中,url的长度还是受到限制的,一是服务器端的限制,二就是游览器端的限制,每次发送的http header是有大小限制

2.XHR如何传递二进制流

设置responseType为blob或者arraybuffer

var xhr = new XMLHttpRequest();

    xhr.open('GET', './assets/arraybuffer');

    xhr.responseType = 'arraybuffer';

    xhr.send();

xhr.onreadystatechange = function(){

    if (xhr.readyState == 4 && xhr.status == 200){

        var blob = new Blob([xhr.response], {type: 'image/png'});

        document.getElementById('image').src = URL.createObjectURL(blob); //这里设置一个张图片

    }

}

3.Csrf怎么防范,验证了origin和refer是否能完全避免

4.https加密过程,证书用途

你可能感兴趣的:(前端高阶问题汇总)