JavaScript--对象继承(组合继承)
2024-08-29 06:03:24
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
/**
* 为什么需要原型以及原型的使用:
* 1.原型也是一个对象,通过原型可以实现对象的属性继承
*/ function Person(name,sex) {
this.name = name || "匿名";
this.sex = sex || "男";
} // 构造函数 - 学生
function Student(a,b,number) {
// 借用继承
// 继承Person的属性
Person.call(this,a,b);
this.number = number;
} // 借用继承的缺点:
// 通过原型对象添加属性/ 方法,无法顺利继承过来
// 因为call其实只会调用Person构造函数内部的属性
Person.prototype.sayHi = function () {
console.log("我是Person,我是男生");
} // 原型继承:继承Person的原型方法
// 这句话可以让Student 从Person身上继承过来一些属性
// 原型继承的缺点: 暂时还改动不了从原型继承过来的属性/方法
Stuent.prototype = new Person();
// 由于实例对象没有constroctor,手动指向
Student.prototype.constructor = Person; var stu1 = new Student("小明","男","一号男主角");
console.log(stu1);
stu1.sayHi();
console.log(stu1.name);
</script>
</head>
<body> </body>
</html>
最新文章
- 访问IIS网站需要输入用户名密码(非匿名登录)问题汇总
- Jquery 系列(2) 选择元素
- 坑人的MyEclipse之-修改JSP页面的JavaScript背景颜色
- POJ - 2253 Frogger(Dijkstra变形题)
- 《数据结构与算法分析》学习笔记(五)&mdash;&mdash;二叉树
- 20145223《Java程序程序设计》实验报告二
- NBUT 1673 迷宫问题(DP)
- (原)不明白JNI指针调用顺序
- Iso language code table之(软件国际化)
- VIJOS1107 求树的最长链
- 第三次java作业
- 一把梭系列 之 颜值不够VsCode来凑
- Bugku-CTF之域名解析(听说把 flag.baidu.com 解析到123.206.87.240 就能拿到flag)
- java.——最大子序列和(前提是:全部都是非负数)
- 多项式相关&&生成函数相关&&一些题目(updating...)
- CSS2.0实现面包屑
- 异构数据库之间完全可以用SQL语句导数据
- hibernate关联映射注解
- 关于jdbc的面试题
- 数据?算法->; which is important?
热门文章
- Property &#39;validate&#39; does not exist on type &#39;Element | Element[] | Vue | Vue[]&#39;. Property &#39;valid...
- axios接口封装
- Gym - 100543L
- idea永久使用本地的maven设置
- 软件-DiskSpeekUp:DiskSpeekUp(磁盘整理工具)
- HTML5中类jQuery选择器querySelector和querySelectorAll的使用
- 卸载VS2015之后,安装VS2017出错
- Python中函数的定义必须在调用的前面
- 3.appium定位方法
- NOIP2017解题报告