css3动画
transition
- transition: 执行变化的属性 变化持续的时间 变化的样式
- 并不是所有的属性都支持
- 需要事件触发,没办法自动发生
1
transition: all 2s ease-in-out
animation
- 可以设置任意多的关键帧,所以动画比较丰富
1
2
3
4
5@keyframes 动画名 {
0% { top: 0; left: 0px}
50% { top: 30px; left: 20px; }
100% { top: 0; left: 30px;}
}
transform
- 顾名思义就是变形的意思,这里涉及的变形包括rotate旋转、skew扭曲、scale缩放、translate移动、matrix矩阵变形
- 常用的有:translate(x,y)进行2d转换、scale(x,y)进行2d缩放、rotate(角度数)进行2d旋转
类数组转数组
- Array.prototype.slice.call(类数组),因为数组slice方法如果不带任何参数,就是默认将数组从头到尾都浅拷贝一份
- Array.from()
- 对于有遍历器接口的类数组,可以直接使用扩展运算符
关于this
- this指向:指向最后一个调用它的对象
- 如何改变this指向
- new
- 箭头函数
- call/apply/bind
- _this = this
函数调用有4种方式:直接调用、作为对象的方法、构造函数、call/apply
dns解析过程
- 浏览器缓存
- 操作系统缓存
- 本地Host文件
- 路由器缓存
- 运营商DNS服务
- 根域名服务器
- 顶级域名服务器
- 主域名服务器
- 保存结果至缓存
TCP三次握手主要目的是要数据的发送和接收同步,通俗地讲就是
- A:要连接你
- B:好的收到,是现在连接吗
- A:现在连接吧
TCP四次挥手
- A:我要走了
- B:好的收到,要等一下,我这边还有几句话没说完
- B:我说完了,可以走了
- A:那拜拜了
TCP和UDP的区别
- 有连接和无连接
- 保证数据的正确性和可能发生丢包
- 保证数据顺序,后者不保证
==运算符会首先将操作对象转化为相同类型,具体表现为
- 只要其中有一个是NaN,就返回false
- 如果两个都是null或者undefined,返回true
- 如果两个都是基本数据类型,且类型不同,则将两者都将转化数值类型再比较
- 如果是引用类型值,则将其转化为基本类型再比较
bfc三个特性
- 防止外边距折叠(margin塌陷)
- 包含浮动元素
- 防止内容被浮动元素覆盖
如何获取url信息
- URL很多信息都存储在window.location这个属性中,打印即可
- 经常会用到如何获取URL的参数及参数值,具体如下:
1
2
3
4
5
6
7
8
9
10
11
12function GetRequest() {
var url = window.location.search; //获取url中"?"符后的字串
var theRequest = new Object()
if (url.indexOf("?") != -1) {
var str = url.substr(1)
strs = str.split("&")
for(var i = 0; i < strs.length; i ++) {
theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1])
}
}
return theRequest
}
es5和es6关于类的区别
- 前者的toString方法是可枚举的,后者不可枚举