1.==运算符比较喜欢Number类型
Number([]) //0
Number({}) //NaN
Number(false) //0
其中,对象到数组的转化,会优先调用valueOf方法,否则就调用toString方法,数组到数字的转化调用toString方法,空数组会转化为字符串,空字符串转化为数字0
注意:==比较null和undefined与其他的比较都不相等,相互比较相等
2.bootstrap栅格
- col-xs 手机,超小屏幕
- col-sm 平板
- col-md 中等屏幕
- col-lg 大屏幕
3.Object.is()加强版的===
行为与===基本一致,但是
- +0不等于-0
- NaN等于自身
4.函数表达式
var a=function b(){
console.log('start');
b();
}
只能在函数内部使用函数名称,在外部使用函数名称调用函数会报错
5.typeof能判断的类型
let red=Symbol();
console.log(typeof red);
可以判断symbol类型
6.变量提升机制
- 变量的声明会提升在作用域顶部
- function直接定义函数会全部提升,包括函数名和函数体
- 函数的提升优先级比变量声明高,同名的变量声明会被忽略
- 变量提升的优先级低于形参
var foo = {n:1};
(function(foo){ //形参foo同实参foo一样指向同一片内存空间,这个空间里的n的值为1
var foo; //优先级低于形参,无效。
console.log(foo.n); //输出1
foo.n = 3; //形参与实参foo指向的内存空间里的n的值被改为3
foo = {n:2}; //形参foo指向了新的内存空间,里面n的值为2.
console.log(foo.n); //输出新的内存空间的n的值
})(foo);
console.log(foo.n); //实参foo的指向还是原来的内存空间,里面的n的值为3.
7.DNS
- DNS将域名翻译为IP地址
- DNS协议主要使用UDP,但是请求字节过长就用TCP协议,将其分割为多个片段传输
- DNS协议的默认端口是53
- 浏览器的DNS缓存时间有区别,chrome对每个域名默认缓存60s
8.html5标签
- mark标签用于突出显示部分文本
- 网页最上层标题为title
- input的type属性可以为image,为图片形式的提交按钮,必须有src和alt属性
9.center标签
可以让内容居中,默认样式为text-align: center
10.BFC
即块级格式化上下文,一个独立的块级渲染区域,与区域外部无关
- 可以给子元素创建BFC来消除垂直外边距合并
- 清除浮动,计算BFC高度时,浮动子元素也参与计算
- 阻止文字环绕
创建BFC的方法:
- float不为none
- overflow不为visible
- display为inline-block, table-cell, table-caption
- position为absolute或fixed
有人会将display: table也当成生成BFC,这里table会默认生成一个匿名的table-cel,这个匿名的table-cell会生成BFC
11.Options请求的作用
- 获取服务器支持的HTTP请求方法
- 用来检查服务器的性能,使用ajax进行跨域请求时的预检,需要向另一个域名发送OPTIONS请求,用于判断发送的请求是否安全
12.可继承属性
- background-color不可继承
- setTimeout不是全局函数,是在window对象上的属性
- 全局函数一共有7个
escape( )、eval( )、isFinite( )、isNaN( )、parseFloat( )、parseInt( )、unescape( )
13.数组转化为数字
- 017为8进制,转化为十进制为15
- 空数组[] -> 0
- 只有一个值的数组 [3] -> 3
- 有多个值或者数组长度确定的数组 new Array(3) -> NaN
- 空对象{} -> NaN
14.angular的apply方法
可以在angular框架之外执行DOM事件,setTimeout,XHR等,它包裹的函数运行完成后,会直接运行脏检查循环
15.css雪碧图
css sprites可以减少网页的http请求,同时能减少图片的字节
16.while循环
while循环中注意判断条件的顺序,先判断&&前面的内容,可能会造成数组的越界
17.对传输操作进行严格的控制和管理
数据链路层
18.回滚段
- 回滚段用于存放数据修改之前的值,一个事务只能使用一个回滚段来存放它的回滚信息,而一个回滚段可以存放多个事务的回滚信息
- 给长事务分配大回滚段
19.Infinity特性
- Infinity%2=NaN
- Infinity/2=Infinity
20.不换行设置
- word-break: break-all 用于处理单词斩断
- white-space: no-wrap 用于处理元素间的空白,只在一行内显示