前端常用的中文字符集
常用的字符集: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
-
常见误解
-
方法的赋值表达式
计算机网络体系结构的组成部分
- 物理层
- 数据链路层
- 网络层
- 传输层
- 会话层
- 表示层
- 应用层