使用 Object.create实现js 继承
2024-08-26 02:11:18
二、Object.create实现继承
本文将来学习第七种继承方式Object.create()方法来实现继承,关于此方法的详细描述,请戳这里。下面来通过几个实例来学习该方法的使用:
var Parent = {
getName: function() {
return this.name;
}
}
var child = Object.create(Parent, {
name: { value: "Benjamin"},
url : { value: "http://www.zuojj.com"}
});
//Outputs: Object {name: "Benjamin", url: "http://www.zuojj.com", getName: function}
console.log(child);
//Outputs: Benjamin
console.log(child.getName());
我们再来看一个例子,再添加一个继承:
var Parent = {
getName: function() {
return this.name;
},
getSex: function() {
return this.sex;
}
}
var Child = Object.create(Parent, {
name: { value: "Benjamin"},
url : { value: "http://www.zuojj.com"}
});
var SubChild = Object.create(Child, {
name: {value: "zuojj"},
sex : {value: "male"}
})
//Outputs: http://wwww.zuojj.com
console.log(SubChild.url);
//Outputs: zuojj
console.log(SubChild.getName());
//Outputs: undefined
console.log(Child.sex);
//Outputs: Benjamin
console.log(Child.getName());
通过上面可以看出Object.create()方法实现了链式继承,及原型链的继承。如果在控制台打印出各个生成的对象,可以很清楚的看到。
//Outputs: true
console.log(Child.isPrototypeOf(SubChild));
//Outputs: true
console.log(Parent.isPrototypeOf(Child));
isPrototypeOf() 方法测试一个对象是否存在于另一个对象的原型链上。 以上就是本文对Object.create方法的描述,文中不妥之处,还望批评指正。
//来自:http://www.2cto.com/kf/201411/349571.html
最新文章
- SQL必知必会 14-22(完)
- jquery点击获取子元素ID值
- UITextView的使用详解
- android开发 PopupWindow 设置充满屏幕
- 【转】《APUE》第三章笔记(4)及习题3-2
- selenium 调用JS操作滚动条(java)来解决element not clickable的问题
- NOIP2008 双栈队列
- 手动制作rpm包
- 基于Apache axis2开发Java Web服务
- Git知识总览(一) 从 git clone 和 git status 谈起
- git和svn的區別
- day 53 练习
- OpenGL ES 3.0 图元组合和光栅化(三)
- linux ifconfig -a
- python 里面的%s和%r的区别
- 迭代器&;生成器&;yield异步
- Spring框架之演示JDBC的模板类
- css3 3d正反面翻转
- Hive(一)Hive初识
- Java虚拟机6:垃圾收集(GC)-1(内存溢出和内存泄漏的区别)