新随笔-- from笔试

1、visibility :hidden和display:none的区别

  1. 是否是继承属性:display不是继承属性,而visibility是继承属性,后代元素的visibility属性若存在则不会继承,若不存在则继承父元素visibility的值,意味着:父元素的visibility为hidden但是子元素的visibility为visible则子元素依旧可见,子元素visibility不存在则子元素不可见。而元素的display属性设为none其后整棵子树都不可见。
  2. 是否占据空间:使用display:none,在文档渲染时,该元素如同不存在(但依然存在文档对象模型树中);而使用visibility :hidden,其占的空间会被空白占位。即一个(display:none)不会在渲染树中出现,一个(visibility :hidden)会。
  3. 页面相关属性改值后是否重新渲染:visibility :hidden不渲染;display:none渲染。

总结:

display 不继承  不占空间

vis 后代继承 占据空间  不会重新渲染

2、在前提:var arr =[1,3,2]下,下面哪个操作会返回一个数组,并且不是arr?

  • arr.push(3)
  • arr.reverse()
  • [].concat.call(arr,[])
  • [].sort.call(arr)

concat返回的是新的对象,这里考的点是浅拷贝和深度拷贝,concat和slice常用来做深度拷贝。

C会选择被拷贝的一个副本~

 3、一个景点的题:

 在浏览器中输入URL到整个页面显示在用户面前时这个过程中到底发生了什么。见 https://segmentfault.com/a/1190000006879700

总体来说分为以下几个过程:

  1. DNS解析

  2. TCP连接

  3. 发送HTTP请求

  4. 服务器处理请求并返回HTTP报文

  5. 浏览器解析渲染页面

  6. 连接结束

原文地址:https://www.cnblogs.com/lx2331/p/11563188.html