笔试题

一些常见笔试题的核心知识点

标签嵌套规则

  • 块级元素与块级元素平级、内嵌元素与内嵌元素平级 。
  • 块元素可以包含内联元素或某些块元素,但内联元素不能包含块元素,它只能包含其它的内联元素。
  • h1、h2、h3、h4、h5、h6、p、dt这些块级元素只能包含内嵌元素,不能再包含块级元素。
  • li 标签可以包含 div 标签,因为li 和 div 标签都是装载内容的容器。

H5新增表单元素

  • datalist用于规定一个输入域的选项列表。列表通过 datalist 内的 option 元素创建。
  • output用于输出计算结果或输出脚本等。
  • keygen是密钥对生成器。

置换元素

浏览器会根据元素的标签和属性来决定元素的具体显示内容。置换元素在显示时生成了框,因此能够设置宽高。常见的置换元素有img、input、select、textarea、button、script (label不是置换元素)。这也是浏览器中将它们的display设置为inline-block的原因。

TCPUDP

  • HTTPS 的端口号:443
  • TCP注重数据可靠性,UDP注重数据传输快

不稳定的排序法

希尔、堆、快速、选择

多重bind()

多重绑定是this指向第一层

1
2
3
4
5
6
7
8
9
10
11
var x = 0
function fun(){return this.x}

var a={x:1},b={x:2},c={x:3}

fun() // 0
fun.bind(a)() // 1
fun.bind(a).bind(b)() // 1
fun.bind(a).bind(b).bind(c)() // 1
fun.bind(b).bind(a).bind(c)() // 2
fun.bind(c).bind(b).bind(a)() // 3

源码-反码-补码

原码 = 正数 => 二进制 || 负数的绝对值 => 二进制 + 高位补一

  • 正数的反码和补码都与原码相同。
  • 负数的反码为对该数的原码除符号位外各位取反。
  • 负数的补码为对该数的原码除符号位外各位取反,然后在最后一位加1  

##