1. 面向对象有三大特性:封装、继承、多态
面向对象有三大特性:封装、继承、多态
- 封装:我们前面将属性和方法封装到一个类中,可以称之为封装的过程;
- 继承:继承是面向对象中非常重要的,不仅仅可以减少重复代码的数量,也是多态前提(纯面向对象中);
- 多态:不同的对象在执行时表现出不同的形态;
js中我们重点了解继承。由于继承需要通过原型链去理解,所以本篇重点弄明白原型链。
2. javascript原型链
原型对象也是个对象,原型对象里面也有原型对象,依次类推。
var obj = {
name: "why",
age: 18
}
// [[get]]操作
// 1.在当前的对象中查找属性
// 2.如果没有找到, 这个时候会去原型链(__proto__)对象上查找
console.log(obj.address)//输出结果为undefined,因为在原型上查找也没找到
obj.__proto__ = {
}
// 原型链
obj.__proto__.__proto__ = {
}
obj.__proto__.__proto__.__proto__ = {
address: "上海市"
}
console.log(