js原生继承之——原型式继承实例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>prototypeInherit</title>
<script type="text/javascript">
//原型式继承:实质上就是类式继承的函数封装(但有缺陷)
function inheritObject(obj){
//声明一个过渡函数对象
function _f(){}
_f.prototype = obj;
return new _f();
}
var book = {
name:'js book',
alike:['css','html']
}
var newbook = inheritObject(book);
newbook.name = 'ajax book';
console.log(newbook.name); //'ajax book'
newbook.alike.push('js');
console.log(newbook.alike); //["css", "html", "js"]
var combook = inheritObject(book);
console.log(combook.name); //'js book'
console.log(combook.alike); //["css", "html", "js"]newbook中修改加入的'js'元素,combook中也共享了
//小结:原型继承中——父对象的直接属性被分别拷贝,数组类结构属性会被共用。(推荐使用类式继承,继承的比较完美,每个实例都是独立对象,又都继承了父类的直接属性和原型prototype属性)
//本例已经通过验证
</script>
</head>
<body>
</body>
</html>
最新文章
- Discuz对不起,您安装的不是正版应用的解决办法
- python的with...as用法
- Java五道输出易错题解析(避免小错误)
- [Linux] 取得服务器版本
- ulimit调优
- C预处理,条件编译
- DragQueryFile
- PHP算法 《图》 之 理论基础
- 重新想象 Windows 8 Store Apps (19) - 动画: 线性动画, 关键帧动画, 缓动动画
- 线性规划?数学?差分约束?Good Bye 2016 C
- Linux常见命令(四)——mkdir
- Jenkins Android 自动打包配置
- 横向滚动布局 white-space:nowrap
- [tomcat]tomcat 9.0.x 控制台中文乱码解决办法
- How to 对拍?
- Android自己定义View之仪表盘
- spring集成mybatis后,打印SQL语句
- Sql Server 创建表添加说明
- [C#]INI文件控制类
- [翻译] GiFHUD