JavaScript对象继承与原型模式实现示例
作者:函数茶馆时间:2026-10-28 10:33:18浏览:398
本文通过具体代码示例,详细解析了JavaScript中对象创建的两种方式:直接赋值与原型模式。重点展示了如何利用prototype属性实现对象间的继承关系,包括Person、Student到Teamleader的多层继承逻辑,以及属性覆盖与扩展的实际应用。
JavaScript对象继承与原型模式实现示例
代码示例如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
/**
* json对象格式说明
{key:value,key:value,key:value..}
*/
//创建对象示例
//-----1
var r={};
r.name="tom";
r.age=18;
//-----2
var r={name:"tom",age:20};//json对象
alert(r.age);
//---1,2是等价的
//-------原型模式写法
//----1
function Person(){};
Person.prototype.name="中国人";
Person.prototype.age=20;
//原型模式简写形式--2
function Person(){};
Person.prototype={name:"中国人",
age:20,}
//-----1,2等价的
//================================
/* {name:"中国人",
age:20,}
上述格式本身即为对象,将其赋值给另一对象的prototype,即实现
另一对象所有属性的继承。实质上即为继承机制
*/
//================================
//标准的对象继承示例,Person,Student
//定义Person对象
function Person(){};
Person.prototype.name="中国人";
Person.prototype.age=20;
var person=new Person();
//定义Student对象
function Student(){};
Student.prototype=person;
Student.prototype.girlFriend="可以有的";
var stu=new Student();
stu.laop="不许谈恋爱";
alert(stu.name);//继承自父对象的实例
alert(stu.laop);//自己新添加的属性
//定义Teamleader对象
function Teamleader(){};
Teamleader.prototype=new Student();//继承自Student
Teamleader.prototype.teamNum=8;//Teamleader自己的属性
//创建自身实例
var teamleader=new Teamleader();
alert(teamleader.teamNum);
teamleader.girlFriend="也不可以有哦";
alert(teamleader.name);
//=================================
/*js中继承的核心机制在于prototype*/
//=================================
</script>
</head>
<body>
</body>
</html>作者最新文章
JS大数值转字符串出现科学计数法怎么办
2026-11-05 17:09:21
JS split切割后出现空字符串怎么过滤
2026-11-05 16:00:30
在 React 或 Vue 项目中封装使用 JS 节流防抖
2026-11-05 15:27:29
JavaScript中怎么将带小数的字符串转为整数?
2026-11-05 14:32:38
怎么用JavaScript策略模式重构电商促销计算逻辑?
2026-11-05 14:01:09
