构造函数模式

    function student(props){this.name=props.name || '匿名';//默认是匿名this.grade=props.grade || 1;}student.prototype.hello=function(){console.log('hello ' this.name);}function createStudent(props){return new student(props||{})}var xiaoming=createStudent({name:'xiaoming'});xiaoming.hello();//hello xiaoming

传进一个数组 

    function animal(name,age,grade){this.name=name;this.age=age;this.grade=grade;}animal.prototype.hello=function(){console.log('hello ' this.name);}var chicken=new animal('chicken',3,12);chicken.hello();//hello chicken

我理解的构造函数就是用new()实例化去构造

 

看了原型继承,发现原型继承不了

所以就看代码

    function student(name){this.name=name||'unname';}student.prototype.hello=function(){console.log('hello' this.name)}function cat(grade){student.call(this,grade);this.grade=grade||12}var a=new cat()//a.name=unname,a.grade=12,a.hello() is not a function不可以继承student的原型,
    function f(){}f.prototype=student.prototype;cat.prototype=new f()var b=new cat();//b.name=unname,b.grade=12,b.hello()='hello unname'可以继承student的原型

通过call来调用继承,并绑定this

 也可以用class来extends

class student{constructor(name){this.name=name}hello(){console.log('hello' this.name)}
}
class cat extends student{constructor(name,grade){super(name);this.grade=grade;}myGrade(){console.log('my grade is' this.grade)}
}
var a=new cat()
//a.name,a.hello(),a.grade,a.myGrade()都能用

 


更多专业前端知识,请上 【猿2048】www.mk2048.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/364447.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android 获取应用内存大小,如何在Android中获取当前内存使用量?

这取决于您要获得的内存查询的定义。通常,您想知道堆内存的状态,因为如果它占用了太多内存,您就会得到OOM并使应用程序崩溃。为此,您可以检查下一个值:final Runtime runtime Runtime.getRuntime();final long usedMe…

Waymo在美国推出自动驾驶汽车共享服务

导读经过数月的测试和数百万英里的无人驾驶汽车技术开发,Waymo 正式在美国推出了具有商业性质的自动驾驶汽车的共享服务。该公司的 Waymo One 项目将为客户提供 24 小时自动驾驶汽车服务。最初,这项服务将仅限于菲尼克斯周边城市,包括坦佩 (T…

2019春第一次课程设计实验报告

一、实验项目名称: 飞机游戏简化的编写 二、实验项目功能描述: 这个实验主要是实现游戏的正常运行,实现控制飞机的移动功能,增加其实用度, 同时还实现发射子弹和出现敌机的操作,利用函数封装重构飞机游戏&a…

区别和联系_动机与主题的区别与联系

今天我算是彻底弄明白了动机与主题的区别与联系(暴论)。当前些天我开始尝试写简单的奏鸣曲时,主题是什么,这个问题卡住了我,因为之前写的练习曲都是基于简单动机的。所以我求助于维基百科。主题是什么?参考…

Java 8中的新BigInteger方法

对JDK 8中的新功能的关注理所当然地主要集中在新的语言功能和语法上。 但是,对库和API进行了一些不错的添加,在本文中,我介绍了BigInteger类中添加的四个新方法: longValueExact() , intValueEx…

巴顿又吃回头草

巴顿是一名好车手,一个会给shumi以及kimi造成威胁的家伙,我并不在意他在哪个车队,只希望他跑得比kimi慢才好。from新浪:宛如平地一声雷,巴顿重返威廉姆斯的消息不仅让车迷感到错愕,英美车队的老板理查兹更是…

打印发现function toUpperCase() { [native code] }

var shello undefined s.toUpperCase function toUpperCase() { [native code] } s.toUpperCase() "HELLO" 咦 然后我就发现了 要是这本来是一个方法 然后你没有用一个方法的方式去调用,就会出现function toUpperCase() { [native code] } 类似于这一句 …

android 静态方法 构造方法,android基础-Java篇02:类和对象、构造方法、访问权限控制、重载、this关键字、static关键字...

一、类和构造方法(类和对象在百度百科已经有详细的介绍,这里只做简单的描述以及帮助理解;百度百科:类和对象,需要注意的是,百度百科类和对象的举例中都是C,书写格式不要和Java混淆!)什么是类&am…

『003』Shell命令

『001』索引-Linux Shell Command shell命令 《01》【线上查询及帮助】【001】-【001】 【001】- 点我快速打开文章【man】【help】【已改版】《02》【文件及目录操作】【002】-【008】 【002】- 点我快速打开文章【ls】【cd】【已改版】【003】- 点我快速打开文章【cp】【find…

尝试将WCF映射到Java术语

通过写这篇文章,我冒着被.NET和Java社区拒绝的巨大风险。 试图解释Java术语WCF (代表Windows Communication Foundation)是什么。 从WCF到Java的映射并不是很简单。 我缺乏对WFC使用者应该了解的与服务通信类型的了解:请求/响应或…

bootbox.js

bootbox:一个弹出框插件,官网看一下例子就好了:http://bootboxjs.com/examples.html 目前来说应该只要调用bootbox.js就可以了,没有css的问题 1.有最基本的调用就是 bootbox.alert("This is the default alert!"); 就什么都不做&…

android fragment界面滑动切换效果,Android App中使用ViewPager+Fragment实现滑动切换效果...

在android应用中,多屏滑动是一种很常见的风格,没有采用viewpager的代码实现会很长,如果采用ViewPager,代码就会短很多,但是使用ViewPager也有弊端:需要导入android-support-v4.jar、细节无法控制。不过现在…

相对路径./与../区别

一、基本概念 1、相对路径-顾名思义,相对路径就是相对于当前文件的路径。网页中一般表示路径使用这个方法。 2、绝对路径-绝对路径就是你的主页上的文件或目录在硬盘上真正的路径。绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,比如&#xff0…

nodejs进程异常退出处理方法

1. 捕获uncaughtException process.on(uncaughtException, function (err) {//打印出错误console.log(err);//打印出错误的调用栈方便调试console.log(err.stack); }); 2. 使用守护进程 例如:node-forever的守护和日志记录功能 安装非常容易 [sudo] npm …

关于Java的常见误解

Java是世界上使用最广泛的语言(需要引用),每个人对此都有自己的见解。 由于它是主流,所以通常会嘲笑它,有时是正确的,但有时批评只是不切合实际。 我将尝试解释我最喜欢的5个关于Java的误解。 Java速度很慢…

tomcat中间件的默认端口号_修改tomcat默认端口号8080

修改tomcat端口号端口修改tomcattomcat服务器的默认端口号是80801 只启动一个tomcat的情况当我们不想使用8080端口,需要修改为其他端口时,我们可以:1, 打开tomcat安装目录下的conf目录,找到server.xml文件。找到以下代码connectionTimeout&qu…

我们的爱

对白-什么感觉怎么样?-跟冷风一起-怎么了?-感觉好么?-怎么叫,好不好-时间过的快么?-带他的时候还真不快-呵呵-我想我不用再买月卡了-嘛?-没什么-恩?说-你考虑清楚吧-什么?-我说你俩早上论坛里灌的那么开心呢-.-呵呵-看样子,又要闹革命了-我很冷静-转载于:https://www.cn…

this指向问题

我今天下午本来想做个就是tr鼠标移出之后过三秒把对应的input添加hiddens类 然后我就这样写了 $(.table>tbody>tr).mouseout(function(){var index$(this).index();setTimeout(function(){console.log(index);console.log($(this));$(this).parents(.table).siblings(.c…

shouji android输入法,安卓手机主流输入法对比

什么是合格的输入法?1. 按键布局合理2. 词库丰富且云识别准确3. 文字编辑4. 符号快捷输入5. 翻译功能6. 语音识别转文字对比五款主流输入法:触宝、百度、搜狗、讯飞、QQ均为默认皮肤和设置。1. 按键布局从哪进从哪出,这应该是一个输入法最基本…

DS博客作业06--图

1.本周学习总结 1.思维导图 2.谈谈你对图结构的认识及学习体会。 原本以为树已经够难的了,结果发现觉得太早了。图好难,看不懂。图是由两个集合V和E组成,V指的是顶点的有限集合,E代表两个不同顶点的边的有限集合,图也分…