js原生设计模式——2面向对象编程之继承—new+call(this)组合式继承
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>groupInherit</title>
<script type="text/javascript">
//声明父类
function superClass(name){
this.name = name;
this.books = ['html','css','js'];
}
superClass.prototype.getName = function(){
console.log(this.name);
}
superClass.prototype.getBooks = function(){
console.log(this.books);
}
//声明子类
function subClass(name,time){
superClass.call(this,name);//让子this指向父this,后面带的是父类需传入的参数name
this.time = time;
}
subClass.prototype = new superClass();//类式继承
subClass.prototype.getTime = function(){
console.log(this.time);
}
//测试用例:实例化对象测试
var test1 = new subClass('js book',2015);
var test2 = new subClass('css book',2014);
test1.books.push('php');//test2插入的数据'php'不影响test1
console.log(test1.name); //'js book'
console.log(test1.books); //["html", "css", "js", "php"]
test1.getName(); //'js book'
test1.getBooks(); //["html", "css", "js", "php"]
test1.getTime(); //2015
console.log(test2.name); //'css book'
console.log(test2.books); //["html", "css", "js"]
test2.getName(); //'css book'
test2.getBooks(); //["html", "css", "js"]
test2.getTime(); //2014
//本例已经通过验证,this属性和原型方法均能访问
</script>
</head>
<body>
</body>
</html>
js原生设计模式——2面向对象编程之继承—new+call(this)组合式继承的更多相关文章
- js原生设计模式——2面向对象编程之继承—原型继承(类式继承的封装)
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- js原生设计模式——2面向对象编程之继承—多继承
1.单对象克隆 <!DOCTYPE html><html lang="en"><head> <meta charset=" ...
- js原生设计模式——2面向对象编程之继承—call(this)构造函数式继承
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- js原生设计模式——2面向对象编程之继承—new类式继承
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- js原生设计模式——2面向对象编程之js原生的链式调用
技巧点:对象方法中返回当前对象就可以链式调用了,即方法中写return this; <!DOCTYPE html><html lang="en"><h ...
- js原生设计模式——2面向对象编程之闭包2
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- js原生设计模式——2面向对象编程之闭包1
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- js原生设计模式——7原型模式之new+call(this)组合应用再探讨实例
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- js原生设计模式——12装饰者模式
1.面向对象模式装饰者 <!DOCTYPE html><html lang="en"><head> <meta charset=&q ...
随机推荐
- Java对数函数及Java对数运算
Java对数函数及Java对数运算 2010-05-17 10:32 中国IT实验室 佚名 关键字:Java Java对数函数的计算方法非常有问题,然而在API中却有惊人的误差.但是假如运用了 ...
- 简单 实现CombineFileInputFormat
import java.io.DataOutput; import java.io.IOException; import org.apache.hadoop.conf.Configuration ...
- 关于easyUI的datagrid的编辑功能时的问题
编辑时,如果form中包含了id输入域,会发送一个{id,id}这样的字符串到服务端,因为javascript的function edit(){}逻辑中,已经拿到Id提交了.所以,编辑和添加功能共用的 ...
- Struts2--DomainModel接收参数---使用广泛!!!
1. JSP文件调用格式: <a href="user/user!add?user.name=a&user.age=8">添加用户</a> 2. s ...
- 关于NIOS ii烧写的几种方式
1. 方法一:.sof和.elf全部保存在FPGA内,程序加载和运行也是在FPGA内部. 把FPGA的配置文件.sof通过JTAG方式下载(其实是在线运行)进入FPGA本身,此时在NIOS II的界面 ...
- POJ 2482 Stars in Your Window
线段树+离散化+扫描线 AC之后,又认真读了一遍题目,好文章. #include<cstdio> #include<map> #include<algorithm> ...
- @media max-width 与jquery宽度取值的差异
最近写了个响应式网站,有些效果通过用jq的$(window).width()来判断屏幕宽度,当屏幕宽度小于1366时一些参数发生变化.@media中也有小于1366的判断条件,但是用起来的时候发现一个 ...
- HDU 2859 Phalanx
简单二维dp.o(n^3)效率过的.不知道有没有o(n^2)的解法. 为了方便点,先左右交换一下. dp[i][j]表示以[i,j]为左上角的最大对称矩阵长度 那么dp[i][j]=min(Max,d ...
- keil mdk中如何确保某一段程序不被优化掉(转)
源:keil mdk中如何确保某一段程序不被优化掉 使用mdk编程,假如有一个有用的函数你定义了但是没有显式的调用,mdk在默认方式下,将会把这个函数从整个程序总删除掉,以节省ROM. 比如,你在RO ...
- python_json常用的方法
1. 什么是JSON? JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端 ...