最简单的类

        function Person() {this.name = 'lisi';this.age = 20;}var p = new Person();alert(p.name);

构造函数和原型链里增加方法

        function Person() {this.name = 'lisi';this.age = 20;this.run = function() {alert(this.name + '在运动');}}Person.prototype.sex = '男';Person.prototype.work = function() {alert(this.name + '在工作');}var p = new Person();alert(p.name);p.run();p.work()

类里的静态方法

        function Person() {this.name = 'lisi';this.age = 20;this.run = function() {alert(this.name + '在运动');}}Person.getInfo = function() {alert('我是静态方法')}Person.prototype.sex = '男';Person.prototype.work = function() {alert(this.name + '在工作');}var p = new Person();// p.work();Person.getInfo()

es5里面的继承,对象冒充实现继承

只有一个弹框,说明没有继承到prototype上的方法

        function Person() {this.name = 'lisi';this.age = 20;this.run = function() {alert(this.name + '在运动');}}Person.prototype.sex = '男';Person.prototype.work = function() {alert(this.name + '在工作');}//Web类继承Person类function Web() {Person.call(this);}var w = new Web();w.run();w.work();

es5里面的继承,原型链实现继承

        function Person() {this.name = 'lisi';this.age = 20;this.run = function() {alert(this.name + '在运动');}}Person.prototype.sex = '男';Person.prototype.work = function() {alert(this.name + '在工作');}//Web类继承Person类function Web() {}Web.prototype = new Person();var w = new Web();w.run();w.work();

原型链实现继承的问题

        function Person(name, age) {this.name = name;this.age = age;this.run = function() {alert(this.name + '在运动');}}Person.prototype.sex = '男';Person.prototype.work = function() {alert(this.name + '在工作');}function Web(name, age) {}Web.prototype = new Person();var w = new Web('lisi', 20)w.run()w.work()

原型链+对象冒充的组合继承模式

        function Person(name, age) {this.name = name;this.age = age;this.run = function() {alert(this.name + '在运动');}}Person.prototype.sex = '男';Person.prototype.work = function() {alert(this.name + '在工作');}function Web(name, age) {Person.call(this, name, age);}Web.prototype = new Person();var w = new Web('lisi', 20)w.run()w.work()

原型链+对象冒充的另一种方式

        function Person(name, age) {this.name = name;this.age = age;this.run = function() {alert(this.name + '在运动');}}Person.prototype.sex = '男';Person.prototype.work = function() {alert(this.name + '在工作');}function Web(name, age) {Person.call(this, name, age);}Web.prototype = Person.prototype;var w = new Web('lisi', 20)w.run()w.work()

TypeScript--es5中的类,继承,静态方法相关推荐

  1. java 中普通类继承,抽象类继承,接口类继承,子类一定要重写父类中的方法吗

    一.简单总结,需要重写的有 普通类继承抽象类,重写所有抽象类方法:(不包括普通方法) 普通类继承接口,重写所有接口方法.(不包括default关键字修饰的方法) 详解见下: 普通类继承,并非一定要重写 ...

  2. php 静态方法继承,php 5.2中的类继承:重写扩展类中的静态变量?

    我在Zend框架中对某些内容进行子类化时遇到了这个问题.我的决定是,在完全静止的土地上,你只有一个选择-重新定义继承类中的函数: class Animal { public static $color ...

  3. java中继承类 student 类例子_java中student类继承问题

    完成下面父类和子类的定义: (1)定义Student类,放入stu包中. 属性包括学号.姓名.英语成绩.数学成绩.计算机成绩和总成绩. 方法包括构造方法.get方法.set方法.toString方法( ...

  4. C++中了类继承和调用父类的构造函数方法

    构造方法用来初始化类的对象,与父类的其它成员不同,它不能被子类继承(子类可以继承父类所有的成员变量和成员方法,但不继承父类的构造方法).因此,在创建子类对象时,为了初始化从父类继承来的数据成员,系统需 ...

  5. 《JavaScript应用程序设计》一一3.1 过时的类继承

    本节书摘来华章计算机出版社<JavaScript应用程序设计>一书中的第3章,第3.1节,作者:Eric Elliott 更多章节内容可以访问云栖社区"华章计算机"公众 ...

  6. Python类继承及super()函数

    文章目录 Python中单类继承 普通类方法继承 初始化函数继承 Python中多类继承 Python中单类继承 Python是一门面向对象的编程语言,支持类继承.新的类称为子类(Subclass), ...

  7. typescript学习之路(四) —— ts类的继承(包含es5以及es6的类继承)

    上一文已经写了es5,es6等类的定义,所以本章主要写es5和es6的继承,由于es6的继承和ts的继承如出一辙,只是加了类型定义而已,所以ts的继承稍微写下,不会太详细. 文章目录 es5继承 原型 ...

  8. ES5和ES6的类,静态方法,继承实现代码

    ES5 类和静态方法 function Person(info) {//构造函数里面的方法和属性this.name = 'fur'this.age = 1this.run = function() { ...

  9. 23~49(构造函数+继承+类的本质+ES5中的新增方法)

    1 构造函数和原型 1.1 概述 在典型的OOP的语言中(如Java),都存在类的概念,类就是对象的模板,对象就是类的实例,但在ES6之前,JS中并没用引入类的概念. ES6,全称ECMAScript ...

最新文章

  1. SpringBoot中使用ShardingJdbc切分数据库表
  2. 如何不能保证每次都请求成功
  3. mysql同步binlog_利用MySQL的Binlog实现数据同步与订阅(下)
  4. 杨氏矩阵定义及其查找的实现C++
  5. root cause of message type unknown during BP delta upload
  6. php 8 jit,PHP JIT 是什么?PHP8 新特征之 JIT 图文详解_后端开发
  7. linux sys存放内容,了解linux系统目录,sys,tmp,usr,var!
  8. SOA的十大技术理论体系
  9. 禁止“挖矿”!谷歌杀了所有的 Chrome 扩展应用
  10. MySQL复制应用中继日志解析
  11. 局域网的主机如何连接外网
  12. 【实习】大三暑假实习总结:工作记录、个人日记、感悟总结
  13. 读取yaml文件出现UnicodeDeco: ‘gbk‘ codec can‘t decode byte 0xaf in position 68: illegal multibyte sequen报错
  14. 怎么搜索一下整个网络的计算机,如何快速查找自己电脑IP地址?
  15. C++学习笔记——第三天运算符和表达式
  16. 数电课程设计——电子钟
  17. Git上传项目提示Push rejected: Push to origin/dev was rejected解决办法
  18. Vue axios请求自带域名,接口及项目名
  19. html 文字两边加横线\竖线\ Css3中间文本两侧横线
  20. Q3c「最大可以支持多大容量的硬盘?」AirDisk

热门文章

  1. 在MAC下安装一些软件时提示来自身份不明开发者
  2. 每个程序员都必读的12篇文章
  3. 转:3d max 2013 安装教程,凭着一种互联网精神提供给广大朋友
  4. 图像处理之基础---傅里叶
  5. AIX 添加开机启动项
  6. #!(sha-bang)--脚本的开始
  7. sqlite 日期字段操作
  8. 用 rsync sersync两个工具实现文件备份及同步 一
  9. [JavaScript]利用JavaScript控制table中row的显示
  10. 学习——JavaWeb05:JSP入门