笔试笔记(2)

类型转换

Posted by EWL on March 14, 2018

前端常用的中文字符集

常用的字符集:ISO-8859-1 GB3212 GBK UTF-8 UTF-16

对中文字符几种编码格式都能处理,GB2312与GBK编码规则类似,但是GBK范围更大,它能处理所有汉字字符,所以GB2312与GBK比较,应该选择GBK。UTF-16与UTF-8都是处理Unicode编码,它们的编码规则不太相同,相对来说,UTF-16编码效率最高,字符到字节相互转换更简单,进行字符串操作也更好。它适合在本地磁盘和内存之间使用,可以进行字符和字节之间的快速切换,如Java的内存编码就采用UTF-16编码。但是它不适合在网络之间传输,因为网络传输容易损坏字节流,一旦字节流损坏将很难恢复,相比较而言UTF-8更适合网络传输,对ASCII字符采用单字节存储,另外单个字符损坏也不会影响后面的其他字符,在编码效率上介于GBK和UTF-16之间,所以UTF-8在编码效率上和编码安全性上做了平衡,是理想的中文编码方式。

BFC的解释

  • 普通流(normal flow)
  • 浮动(float)
  • 绝对定位(absolute position)

BFC 即 Block Formatting Contexts (块级格式化上下文),它属于上述定位方案的普通流。具有 BFC 特性的元素可以看作是隔离了的独立容器,容器里面的元素不会在布局上影响到外面的元素,并且 BFC 具有普通容器所没有的一些特性。 通俗一点来讲,可以把 BFC 理解为一个封闭的大箱子,箱子内部的元素无论如何翻江倒海,都不会影响到外部。

触发BFC的条件

  • body 根元素
  • 浮动元素:float 除 none 以外的值
  • 绝对定位元素:position (absolute、fixed)
  • display 为 inline-block、table-cells、flex
  • overflow 除了 visible 以外的值 (hidden、auto、scroll)

BFC的特性及应用

  • 同一个BFC里面的元素的外边距会折叠(如果要避免这种情况,可以将他们放在不同的BFC容器里)
  • BFC 可以包含浮动的元素(清除浮动)
  • BFC 可以阻止元素被浮动元素覆盖(当元素浮动的时候,它会遮盖后面没有触发BFC的元素但是文本内容并不会被遮盖,所以会出现文字环绕的情况,如果不想让后面元素部分被遮盖,可以触发其BFC属性,比如overflow:hidden等,这个可以拿来做左边固定宽度,右边自适应的布局)

CSS的盒子模型

内容(content)、填充(padding)、边框(border)、边界(margin), CSS盒子模式都具备这些属性。

this

  • 全局范围内

全局范围的this指向window,顺带一提,匿名函数的this在非严格模式下指向window,严格模式下为undefined

  • 函数调用

比如,foo();它的this就指向全局对象

  • 方法调用

test.foo();它的this就指向test

  • 调用构造函数

new foo(); 如果函数倾向于和 new 关键词一块使用,则我们称这个函数是 构造函数。 在函数内部,this 指向新创建的对象。

  • 显式的设置 this

比如apply call bind

  • 常见误解

  • 方法的赋值表达式

计算机网络体系结构的组成部分

  • 物理层
  • 数据链路层
  • 网络层
  • 传输层
  • 会话层
  • 表示层
  • 应用层