- [二、构造函数和原型(ES6之前)](#ES6_73)
- [三、ES5新增的方法](#ES5_127)
一、类
三个特性:封装性、继承性、多态性
ES6中的类和对象
基本使用:
<script>
//创建类 函数不用写function 不用加,分隔
class Star {
constructor(uname, age) { //构造函数 new的时候自动调用,返回实例对象
this.uname = uname;
this.age = age;
}
sing(song) {
console.log(this.uname + song);
}
}
//创建对象
var lhm = new Star('vivian', 18);
console.log(lhm.uname, lhm.age);
lhm.sing("believe");
</script>
类的继承
<script>
class Father {
constructor(x, y) {
this.x = x;
this.y = y;
}
sum() {
console.log(this.x + this.y);
}
say() {
return '我是爸爸';
}
}
class Son extends Father { //继承
constructor(x, y) {
super(x, y); //调用了父类中的构造函数 必须先写
this.x = x;
this.y = y;
}
say() {
console.log(super.say() + '的儿子'); //调用父类中的函数
}
subtract() {
console.log(this.x - this.y);
}
}
var son = new Son(1, 2);
son.sum(); //3
son.say(); //就近原则 '我是爸爸的儿子'
son.subtract(); //-1
</script>
二、构造函数和原型(ES6之前)
实例成员和静态成员:
构造函数的问题
原型链
1.构造函数中的this指向对象实例
2.原型对象函数中的this指向调用者
原型对象的应用:
继承
<script>
function fun(x, y) {
console.log(x + y);
console.log(this);
}
var o = {
name: 'vivian'
};
//1. call()可以调用函数
//fun.call();//指向windows对象
//2. call()可以改变这个函数的this指向
fun.call(o, 1, 2);//指向o对象
</script>
借用构造函数继承父类型属性
借用构造函数继承父类型方法
不能直接赋值:Son.prototype = Father.prototype
应该:Son.prototype = new Father();
同时注意 Son.prototype.constructor = Son;
三、ES5新增的方法
数组方法
1.forEach 迭代(遍历)数组
2.filter 筛选数组 返回一个数组 (所有符合条件)
3.some 查找数组中是否有满足条件的元素 返回一个布尔值
HTTP
-
HTTP 报文结构是怎样的?
-
HTTP有哪些请求方法?
-
GET 和 POST 有什么区别?
-
如何理解 URI?
-
如何理解 HTTP 状态码?
-
简要概括一下 HTTP 的特点?HTTP 有哪些缺点?
-
对 Accept 系列字段了解多少?
-
对于定长和不定长的数据,HTTP 是怎么传输的?
-
HTTP 如何处理大文件的传输?
-
HTTP 中如何处理表单数据的提交?
-
HTTP1.1 如何解决 HTTP 的队头阻塞问题?
-
对 Cookie 了解多少?
-
如何理解 HTTP 代理?
-
如何理解 HTTP 缓存及缓存代理?
-
为什么产生代理缓存?
-
源服务器的缓存控制
-
客户端的缓存控制
-
什么是跨域?浏览器如何拦截响应?如何解决?