JavaScript继承
来源:互联网 发布:stc系列单片机 编辑:程序博客网 时间:2024/06/01 08:54
1. 替换原型继承
function MyArray() { } MyArray.prototype = new Array();//替换原型对象,使得MyArray继承了Array var arr = new MyArray(); arr.push(1, 2, 3);//原型的push方法 console.log(arr); console.log(arr.__proto__); var arr1 = new MyArray(); console.log(arr1.__proto__);
2.《JavaScript语言精粹》作者提出了一个方式来实现继承, 经典继承方式
function jicheng(obj) { var o = {}; o.__proto__ = obj;//替换原型 return o; } var o = jicheng({name: "张三"}); console.log(o);
3.Object.create()方法实现继承,并解决它的兼容问题
//自定义一个函数解决Object.create()方法 function create(obj) { if (Object.create) { return Object.create(); } else { function F() { } F.prototype = obj; return new F(); } }
4.比较low的继承方式,滚入式继承
var person = { name:"关羽", age:21, func:function () { console.log("耍大刀"); } }; var man = { name:"赵子龙", age:20, death:75, func:function () { console.log("耍龙胆枪"); } }; //滚入式继承(mix in) for(k in man){ person[k] = man[k]; } person.death = 55; console.log(person.death); console.log(person.name);//赵子龙
5.call、apply方法实现继承
function Animal() { this.gender = "male"; } function Tiger() { Animal.call(this);//tiger的this引用指向了Animal,但它仍然是Tiger的一个对象 this.name = "老虎"; } var tiger = new Tiger(); console.log(tiger.gender);//male console.log(tiger.name);//老虎
6.寄生继承
function BigAnimal(child) { var clone = Object(child); clone.play = function () { alert("BigAnimal真会玩"); }; return clone; } var Tiger = { name : "老虎" }; var animal = BigAnimal(Tiger); console.log(animal.name); animal.play();
阅读全文
0 0
- javascript继承
- javascript继承
- javascript 继承
- Javascript继承
- Javascript继承
- javascript继承
- Javascript继承
- javascript继承
- JavaScript 继承
- javascript 继承
- JavaScript 继承
- javascript 继承
- javascript 继承
- Javascript继承
- Javascript继承
- Javascript 继承
- JavaScript 继承
- javascript继承
- Java 的异常
- 重新索引Model数据库
- 【机器学习实战】第7章 集成方法 ensemble method
- 传智168期--Linux&LAMP编程之Linux2016版额外笔记(2017年8月25日18:50:55)
- Spring框架初体验
- JavaScript继承
- pycharm 常用功能
- 生哥的hu测
- 51Nod-1073-约瑟夫环
- redis 配置
- Action Recognition(2)
- Python判断telnet通不通
- A
- Hrbust 2095 奶牛家谱【Dp】