js常见知识点3.面向对象之继承、设计模式
一、面向对象的三大特征
建议回复:
二、继承
建议回复:
三、继承的方式及实现过程
建议回复:
<script>
function Father(){
this.money="1个亿";
this.eat=function(){
console.log("eat meat!");
}
this.drink=function(){
console.log("drink wine!");
}
}
function Son(){
this.parent=Father;//为子类添加一个特有的属性 改变父类的执行环境
this.parent();//改变了执行环境 delete this.parent;//继承完父类属性方法之后就可以把这个属性删了,注意:delete只能删除实例属性
}
var son=new Son();
console.log(son.money);
console.log(son.parent);
</script>
2.继承方式二、通过call方法实现。
<script>
function Father(firstname){
this.firstname=firstname;
this.money=200000000;
this.drink=function(){
console.log("drink coffe");
}
this.dance=function(){
console.log("dancer is not dance");
}
}
function Father2(){
this.money2=300000000;
}
function Son(firstname,score){
this.score=score;
Father.call(this,firstname);
Father2.call(this);
}
var son=new Son("dancer",90);
console.log(son);
</script>
3.继承方式三、通过apply继承.
<script>
function xiaomi5(price,size,memsize){
this.price = price;
this.size = size;
this.memsize = memsize;
this.phoneCall = function(){
console.log("打电话");
}
this.sendMessage = function(){
console.log("发短信");
}
}
function xiaomi5Plus(price,size,memsize,color){
this.color = color;//特有属性
//xiaomi5.apply(this,[price,size,memsize]);
xiaomi5.apply(this,arguments);//通过arguments接收
this.playMusic = function(){
return "播放音乐";
}
this.photo = function(){
console.log("照相");
}
}
var xm = new xiaomi5Plus(789,7,64,"white");
console.log(xm); </script>
4.继承方式四、原型继承.
缺点:原型继承 继承实例属性时, 子类的属性值和父类相同
function Father(age){
this.age = age;
this.money = 2000000;
this.drink = function(){
console.log("喝酒");
}
}
Father.prototype.liaomei = function(){
console.log("撩妹");
}
function Son(){ } Son.prototype = new Father(38);//原型继承 var son = new Son();
//son.liaomei(); alert( son.age );
5.继承方式五、混合继承.
function Father(money,firstname){
this.money = money;
this.firstname = firstname;
} Father.prototype.dance = function(){
console.log("跳舞");
}
Father.prototype.sleep= function(){
console.log("睡觉");
} function Son(money,firstname){
Father.call(this,money,firstname);
} //原型继承
Son.prototype = new Father(); var son = new Son("200000","王");
son.dance();
四、原型对象 prototype
建议回复:

五、原型模式的执行流程
建议回复:
六、原型中的几个关键字(扩展)
建议回复:
七、设计模式的概念及几种常见的设计模式
建议回复:
js常见知识点3.面向对象之继承、设计模式的更多相关文章
- js常见知识点2.面向对象相关
一.对象的概念 建议回复: 对象是一个整体,对外提供一些功能. 一切具有属性和方法的事物. 一切具有本质特征和行为的物质. 数据类型: 所有的基本数据类型都没有属性和方法. 所 ...
- HTML+CSS+js常见知识点
一.HTML.CSS常见知识点 1.垂直居中盒子 /* 方法一 */ html, body { width: 100%; height: 100%; padding: 0; margin: 0; } ...
- js常见知识点1.ajax相关
一. javascript中的typeof返回哪些数据类型? 建议回复: typeof 运算符把类型信息当作字符串返回.typeof 返回值有六种可能: number, string, boolean ...
- JavaScript面向对象(三)——继承与闭包、JS实现继承的三种方式
前 言 JRedu 在之前的两篇博客中,我们详细探讨了JavaScript OOP中的各种知识点(JS OOP基础与JS 中This指向详解 . 成员属性.静态属性.原型属性与JS原型链).今天 ...
- 探讨 JS 的面向对象中继承的那些事
最近学了 JS 的面向对象,这篇文章主要是探讨 JS 的面向对象中继承的那些事. JS中继承的特点: 1.子类继承父类: 2.子类可以用父类的方法和属性 3.子类的改变可以不影响父类 下面用一个例子来 ...
- JS重要知识点
这里列出了一些JS重要知识点(不全面,但自己感觉很重要).彻底理解并掌握这些知识点,对于每个想要深入学习JS的朋友应该都是必须的. 讲解还是以示例代码搭配注释的形式,这里做个小目录: JS代码预解析原 ...
- JS重要知识点(转载 学习中。。。)
这里列出了一些JS重要知识点(不全面,但自己感觉很重要).彻底理解并掌握这些知识点,对于每个想要深入学习JS的朋友应该都是必须的. 讲解还是以示例代码搭配注释的形式,这里做个小目录: JS代码预解析原 ...
- 【Java基础】【08面向对象_继承&方法&final】
08.01_面向对象(代码块的概述和分类)(了解)(面试的时候会问,开发不用或者很少用) A:代码块概述 在Java中,使用{}括起来的代码被称为代码块. B:代码块分类 根据其位置和声明的不同,可以 ...
- Day7 初识面向对象,面向对象之继承、多态和封装
一.面向对象引言 一.面向对象的程序设计的由来 详述见:http://www.cnblogs.com/linhaifeng/articles/6428835.html 二.面向对象引子 写一个简单程序 ...
随机推荐
- curl命令基本使用小总结
curl 下载文件 -o:将文件保存为命令行中指定的文件名的文件中 -O:使用URL中默认的文件名保存文件到本地 --limit-rate:限速 -C:对大文件使用断点续传功能 --silent:不显 ...
- Fiddler(一)Fiddler介绍及应用场景
Fiddler是一款网络抓包工具,抓包可以是抓取电脑端请求的数据,还可以抓取移动端(手机APP)的数据包,可以监控HTTP和HTTPS的流量,可以通过浏览器或者客户端软件向服务器发送的HTTP或者HT ...
- Python2的一些问题及解决办法
1. 无法注释中文的解决办法 # -*- coding:utf8 -*- # 添加这一行就行了 from django.contrib import admin from myapp.models i ...
- bzoj5421:收藏家
bzoj5421 贴一张图 关于对问题的转化: 当两个人交换收藏品时,显然我们进行这个操作是为了得到更优解. 那么一个收藏品是有用的,另一个被换走的收藏品可以当做直接扔掉了. 所以只要保留一个就可以了 ...
- Python之字符编码(一)
一.了解字符编码的知识储备? 1.计算机基础知识? 计算机中所有的软件文件(包括:操作系统)都存储在硬盘,启动计算机,计算机需要把系统文件都去到内存中. 2.文本编辑器存取文件的原理(nodepad+ ...
- applyColorMap()研究(如果我对现有的colormap不满意,那么如何具体来做)
cv::applyColorMap()能够实现预定义的伪彩色,这个是众所周知的事情. 并且和matlab提供的很相近 除了这些预置的变换,如果我想实现新的变换,需要做LUT变换 cv::Mat ...
- 检测 C++ 内存泄露
转载:http://www.cnblogs.com/zouzf/p/4152279.html #include "stdafx.h" #include <string> ...
- ImageView控件有关问题
了解了一下ImageView控件,这个控件本身及其属性倒没有什么特别之处.只是在看<第一行代码>时,郭大神写到创建drawable-xhdpi文件有些问题,首先先说drawable和mip ...
- topcoder srm 680 div1
problem1 link 将限制按照$x$排序.那么$[upTo_{i}+1,upTo_{i+1}]$中数字个数为$quantity_{i+1}-quantity_{i}$.然后进行动态规划.$f[ ...
- 剪格子|2013年蓝桥杯A组题解析第九题-fishers
剪格子 如图p1.jpg所示,3 x 3 的格子中填写了一些整数. 我们沿着图中的红色线剪开,得到两个部分,每个部分的数字和都是60. 本题的要求就是请你编程判定:对给定的m x n 的格子中的整数, ...