JavaScript中的面向对象及原型和原型链

一、面向对象概述:

面向对象是一种编程思维(oop Object Oriented Programming),简单来说就是对应的对象做对应的操作,面向对象的核心就是将内容抽取为属性将行为抽取为方法

二、面向对象的特点

  1. 封装
  2. 继承
  3. 多态

三、创建对象

  • 使用new关键词创建对象
function Person(){
console.log(this);
}
var person = new Person()
person.name ="jack"
  • 使用工厂模式创建对象
function factor(name){
    var obj = new Object()
    obj.name = name
    return obj
}
    var person = factor("jack")
    console.log(person);
  • 通过花括号创建对象
var person = {
        name:'张三',
        age:18,
        eat(){
        console.log("吃饭")
        }
}
  • 构造函数创建对象
function Color(color){
    this.color = color;

}


var myColor = new Color("红色");
var myColor1 = new Color("蓝色");
alert(myColor1.color);

四、原型

prototype(显式原型)

显式原型是每一个函数都具有的原型对象,只有函数有显式原型,显式原型上能存放一些内容,这意味着,我们可以把那些不变(公用)的属性和方法,直接定义在prototype对象属性上。

__proto__(隐式原型)

隐式原型是每一个对象都拥有的,它是连接函数显式原型的

五、原型链

原型链:实例对象与原型之间的连接,叫做原型链。

简单的来说就是隐式原型向父类隐式原型向上找内容的过程

原型链向上找,如果找不到就继续向上找,一直找到顶层对象Object,如果顶层对象没有就返回一个null

posted on 2022-08-26 21:39  小生南骆  阅读(33)  评论(0编辑  收藏  举报

导航