今日面试题小结

160 阅读2分钟

四十五分钟的技术面试被考的外焦里焦。T0T

记录一下错题:

innerText和textContent的不同

1 。 innerText只有HTML元素才可以调用,但是textContent任意Node节点都可以:HTMLElement.innerText和Node.textContent。

2 。 textContent获取的内容则是没有格式化的。innerText会保留块级元素的换行特性,以换行符形式呈现。*

3 。 textContent可以获取隐藏元素display:none元素,innerText不可。*

* ps:但是在IE浏览器下,innerText的表现和规范是不符的,最终表现为textContent属性一样的效果,也就是没有空格,也不会不显示隐藏元素。

4 。 textContent只是单纯读取文本内容,不会触发回流,性能更高。由于innerText属性值的获取会考虑CSS样式,因此读取innerText的值将触发回流以确保计算出的样式是最新的。

5 。 textContent会获取所有元素的内容,包括script和style元素。

一般建议使用textcontent

清除浮动

常见题,但是我想不起来伪元素轻浮的几个属性,吓得一个都没敢说。TOT

1.定高 ;(通用性差不推荐)

2.overflow:hidden ; (通用性差不推荐)

3.额外标签法(在最后一个浮动标签后,新加一个标签,给其设置clear:both;)(添加无意义标签不推荐)

4.使用after伪元素清除浮动(推荐使用) (缺点:ie6-7不支持伪元素:after,使用zoom:1触发hasLayout.)

    .clearfix:after{/*伪元素是行内元素 正常浏览器清除浮动方法*/
        content: "";
        display: block;
        height: 0;
        clear:both;
        visibility: hidden;
    }
    .clearfix{
        *zoom: 1;/*ie6清除浮动的方式 *号只有IE6-IE7执行,其他浏览器不执行*/

5.使用before和after双伪元素清除浮动 (推荐使用) (缺点:用zoom:1触发hasLayout.)

.clearfix:after,.clearfix:before{
        content: "";
        display: table;
    }
    .clearfix:after{
        clear: both;
    }
    .clearfix{
        *zoom: 1;
    }

下面的问题展开内容都比较多,只是记录一下吧,背答案不是目的,了解了熟悉了才能应答如流。

事件冒泡,事件捕获,dom0级事件流,dom2级事件流

事件处理程序

事件是用户或浏览器自身执行的某种动作,而响应某个事件的函数叫做事件处理程序。

HTML事件处理程序、DOM0级事件处理程序和IE事件处理程序均以“on”开头;

DOM2级事件处理程序不需要加“on”。addEventListener()可以采用冒泡或事件捕获方式。

session 和cookie区别

Session是在服务端保存的一个数据结构,用来跟踪用户的状态,这个数据可以保存在集群、数据库、文件中;

Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Session的一种方式。

“存储角度:Session是服务器端的数据存储技术,cookie是客户端的数据存储技术。”

vue双向绑定原理 2/3

webpack热更新原理