JavaScript原型、函数伪装(apply,call)、继承
2015-12-26 14:22
776 查看
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>原型与继承</title> <script type="text/javascript"> /* * 组合的方式是属性通过伪造的方式实现,方法通过原型链的方式实现,注意内存模型 * * * */ function Parent(name) { this.name = name; this.color = ["red", "blue"]; } Parent.prototype.ps = function () { alert(this.name + "[" + this.color + "]"); } function Child(name, age) { this.age = age; Parent.call(this, name); } Child.prototype = new Parent(); Child.prototype.say = function () { alert(this.name + "," + this.age + "[" + this.color + "]"); } var c1 = new Child("Leon", 22); c1.color.push("green"); c1.say(); c1.ps(); var c2 = new Child("Ada", 23); c2.say(); </script> </head> <body> </body> </html>
通过原型的方式创建对象:
/* *使用基于原型的方式创建可以将属性和方法设置为Person专有的,不能通过windows来调用 * * */ function Person(){ } Person.prototype.name="Leon"; Person.prototype.age=23; Person.prototype.say=function(){ alert(this.name+","+this.age); } var p1=new Person(); p1.say(); say(); //以下方法可以检测出p1 是否有_prop_隐藏属性指向Person的原型 alert(Person.prototype.isPrototypeOf(p1));
参考视频:原型内存模型
http://tianxingzhe.blog.51cto.com/3390077/1728556
相关文章推荐
- Extjs4.0 最新最全视频教程
- Javascript中toFixed方法的改进
- 5个常见可用性错误和解决方案
- js可突破windows弹退效果代码
- PostgreSQL教程(三):表的继承和分区表详解
- JSP脚本漏洞面面观
- 使用BAT一句话命令实现快速合并JS、CSS
- Lua面向对象之类和继承浅析
- js显示当前星期的起止日期的脚本
- 浅析Ruby中继承和消息的相关知识
- 爆炸式的JS圆形浮动菜单特效代码
- 设计引导--一个鸭子游戏引发的设计理念(多态,继承,抽象,接口,策略者模式)
- js select常用操作控制代码
- JS实现不使用图片仿Windows右键菜单效果代码
- 从jsp发送动态图像
- 原生js结合html5制作小飞龙的简易跳球
- js 页面模块自由拖动实例
- js实现小鱼吐泡泡在页面游动特效
- js 提交和设置表单的值
- PHP VBS JS 函数 对照表