JavaScript中对面向对象的基础知识(3)

本文深入探讨了JavaScript中原型的概念及其实现继承的多种方式,包括利用原型对象、Object.create()方法以及混入继承,旨在提升代码复用性和面向对象编程能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、原型与继承

1、原型

1)为什么要使用原型

JavaScript中存在大量的对象,用户也可以自己创建一些对象。但若是没有一种机制让这些对象联系起来,则难以实现面向对象编程中的许多特征。为此,JavaScript提供了原型的机制,作为JavaScript面向对象编程的一个重要体现。
利用原型还可以提高代码的复用性。

function Person(name){
        this.name=name;
        this.introduce=function() {};
        }
 var p1=new Person('Jim');
 var p2=new Person('Alice');
 console.log.(p1.introduce==p2.introduce);    //输出结果:false

2)原型的使用方法

在JavaScript中,每定义一个函数,就随之有一个对象存在,函数通过prototype属性指向该对象。这个对象称之为原型对象,简称原型,如下:

function Person() {}                   //定义函数
console.log(typeof Person.prototype);  //输出结果:object

2、继承

1)利用原型对象实现继承

原型对象是JavaScript实现继承的传统方式。如果一个对象中本来没有某个属性或方法,但是可以从另一个对象中获得,就实现了继承,具体示例如下:

function Person(name){
   this.name=name;
}
Person.prototype.sayHello=function() {
    console.log('你好,我是'+this.name);
}
var p1=new Person('Jim');
var p2=new Person('Tom');
p1.sayHello();   //输出结果:你好,我是Jim
p2.sayHello();  //输出结果:你好,我是Tom

2)利用Object.create()实现继承

Object对象的create()方法是ES5中新增的一种继承实现方式,如下:

var obj={
  sayHello:function(){
       console.log('我是一个带有sayHello方法的对象');
   }
};
var newObj=Object.create(obj);
newObj.sayHello();
newObj._proto_===obj;

3)混入继承

混入就是将一个对象的成员加入到另一个对象中,实现对象功能的拓展。

var o1={};
var o2={name:'Jim'};
o1.name=o2.name;
console.log(o1.name);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值