博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js 用call或prototype实现类的继承
阅读量:5945 次
发布时间:2019-06-19

本文共 1365 字,大约阅读时间需要 4 分钟。

//call()//调用一个对象的一个方法,以另一个对象替换当前对象。//call([thisObj[,arg1[, arg2[,   [,.argN]]]]])//参数//thisObj //可选项。将被用作当前对象的对象。 //arg1, arg2, , argN //可选项。将被传递方法参数序列。 //说明//call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。//如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。function Person(name){    //父类	this.name=name;	this.SayHello=function(){alert("Hello, I'm "+this.name);};}function Employee(name,salary){   //子类	Person.call(this,name);       //将this传给父构造函数	this.salary=salary;	this.ShowMeTheMoney=function(){alert(this.name+" $"+this.salary);};}var BillGates=new Person("Bill Gates");var SteveJobs=new Employee("Steve Jobs",1234);BillGates.SayHello();  //显示:I'm Bill GatesSteveJobs.SayHello();  //显示:I'm Steve JobsSteveJobs.ShowMeTheMoney();  //显示:Steve Jobs $1234alert(BillGates.constructor == Person);   //truealert(SteveJobs.constructor == Employee); //true

直接定义prototype似乎更有extends 的意韵

function Person(name){    //父类	this.name=name;	this.SayHello=function(){alert("Hello, I'm "+this.name);};}function Employee(salary){   //子类	this.salary=salary;	this.ShowMeTheMoney=function(){alert(this.name+" $"+this.salary);};}Employee.prototype=new Person("Steve Jobs");var SteveJobs=new Employee(1234);SteveJobs.SayHello();  //显示:I'm Steve JobsSteveJobs.ShowMeTheMoney();  //显示:Steve Jobs $1234

注:这里的Person.call(this.name)就像super(this.name)一样,哥在java里都不太用,不过了解一下总是好的

转载地址:http://xtwxx.baihongyu.com/

你可能感兴趣的文章
手机端上传图片及java后台接收和ajaxForm提交
查看>>
【MSDN 目录】C#编程指南、C#教程、ASP.NET参考、ASP.NET 4、.NET Framework类库
查看>>
jquery 怎么触发select的change事件
查看>>
angularjs指令(二)
查看>>
<气场>读书笔记
查看>>
领域驱动设计,构建简单的新闻系统,20分钟够吗?
查看>>
web安全问题分析与防御总结
查看>>
React 组件通信之 React context
查看>>
Linux下通过配置Crontab实现进程守护
查看>>
ios 打包上传Appstore 时报的错误 90101 90149
查看>>
Oracle推出轻量级Java微服务框架Helidon
查看>>
密码概述
查看>>
autoconf,automake,libtool
查看>>
jQuery的技巧01
查看>>
基于泛型实现的ibatis通用分页查询
查看>>
gopacket 使用
查看>>
AlertDialog对话框
查看>>
我的友情链接
查看>>
linux安全---cacti+ntop监控
查看>>
鸟哥的linux私房菜-shell简单学习-1
查看>>