javascript的几种继承方式
2015-11-27 21:18
585 查看
javascript继承
首先在开始之前,需要弄清楚prototype
Javascript规定,每一个构造函数都有一个prototype属性,指向另一个对象。这个对象的所有属性和方法,都会被构造函数的实例继承。
意思就是每个对象都会有一个prototype属性,这个属性也是一个对象,默认是指向这个对象的。如果prototype指向改变,prototype对象下面包含的属性和方法就会添加到指向的对象中,实现继承。
yui库实现继承的方法
拷贝继承
首先在开始之前,需要弄清楚prototype
Javascript规定,每一个构造函数都有一个prototype属性,指向另一个对象。这个对象的所有属性和方法,都会被构造函数的实例继承。
意思就是每个对象都会有一个prototype属性,这个属性也是一个对象,默认是指向这个对象的。如果prototype指向改变,prototype对象下面包含的属性和方法就会添加到指向的对象中,实现继承。
functionAnimal(){ this.species="动物"; } functionCat(name,color){ this.name=name; this.color=color; } Cat.prototype=newAnimal(); Cat.prototype.constructor=Cat; varcat=newCat("cat","red"); alert(cat.species);
Cat.prototype=newAnimal();//执行之前,Cat.prototype保存的是Cat的构造函数和它的属性,当指向改变时,Cat.prototype改变为Animal的构造函数和属性。
Cat.prototype.constructor=Cat;//这句话的意思是把Cat.prototype的构造函数重新复制给它。 利用空对象保存信息来中转:
functionAnimal(){ } Animal.prototype.species="动物"; functionCat(name,color){ this.name=name; this.color=color; } varf=function(){}; f.prototype=Animal.prototype; Cat.prototype=f.prototype; Cat.prototype.constructor=Cat;
yui库实现继承的方法
functionextend(parent,child){ varf=function(){}; f.prototype=parent.prototype; child.prototype=newf(); child.prototype.constructor=child; //child.uber=parent.prototype;uber向上 }
拷贝继承
functionextend1(parent,child){ vara=parent.prototype; varb=child.prototype; for(variina){ b[i]=a[i]; } }
相关文章推荐
- javascript变量的作用域
- javascript中的screen对象
- Cookies学习
- javascript的navigator对象
- 秒秒钟将逗号等分割符文件转换成XML和JSON
- jsp中全局变量和局部变量的设置
- 百度移动搜索自动转码太坑爹,JS跳转地址会被抓取
- jsp
- js数组去重方法
- 【转】javascript防止网页被他人嵌套的方法
- Javascript的location对象
- 返回json格式时间,解析时间
- javascript权威指南(6)
- js和jsp变量互访的解决方法
- jsp+ajax实例
- js实现冒泡排序
- JS性能优化笔记搜索整理
- JS验证字符长度
- JS初识之json, 闭包, parseInt, parseFloat
- JSTL标签EL表达式学习