面向对象中的原型链
2017-07-25 14:41
127 查看
1.hasOwnProperty:看是不是对象自身的属性.
2.constructor:查看对象的构造函数
每个原型都会自动添加constructor属性;
For in的时候有些属性是找不到的;
避免修改constructor属性。
3.instanceof:对象与构造函数在原型链是是否有关系。
判断是否为数组的方法:
4.拷贝继承:子类可以父类的一些功能,但不能影响父类的功能。通用型的,有new无new都可以。
<1>属性的继承:调用父类的构造函数 call
<2>方法的继承:拷贝继承,不是引用的方式,jQuery也是采用拷贝继承(extend),可以封装成一个函数extend.
5.类式继承:适用于new 构造函数
6.原型继承:无new 对象
2.constructor:查看对象的构造函数
每个原型都会自动添加constructor属性;
For in的时候有些属性是找不到的;
避免修改constructor属性。
3.instanceof:对象与构造函数在原型链是是否有关系。
判断是否为数组的方法:
var arry=[]; Object.prototype.toString.call(arry)=='[object Array]';//true
4.拷贝继承:子类可以父类的一些功能,但不能影响父类的功能。通用型的,有new无new都可以。
<1>属性的继承:调用父类的构造函数 call
Createperson.call(this,name,sex);//name,sex是继承父类的属性
<2>方法的继承:拷贝继承,不是引用的方式,jQuery也是采用拷贝继承(extend),可以封装成一个函数extend.
function extend(obj1,obj2) { for(var attr in obj2){ obj1[attr]=obj2[attr]; } } extend(子函数.prototype,父函数.prototype);
5.类式继承:适用于new 构造函数
var F= function(){}; F.prototype=父类.prototype; 子类.prototype=new F(); 子类.prototype.constructor=子类;
6.原型继承:无new 对象
var a={name:"wang"}; var b=cloneObj(a); alert(b.name); function cloneObj(obj){ var F=function {}; F.prototype=obj; return new F(); }
相关文章推荐
- JavaScript之面向对象学习五(JS原生引用类型Array、Object、String等等)的原型对象介绍
- JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模)
- 面向对象及组件开发(五)普通方法与原型方法
- 面向对象精要-构造函数和原型对象
- JavaScript学习-面向对象与原型3
- JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
- 面向对象与原型02
- 面向对象与原型04
- 面向对象与原型05
- 面向对象设计模式之Prototype原型模式(创建型)
- JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
- javascript--面向对象(二)构造函数式的缺点和原型prototype
- 面向对象的程序设计-原型模式
- php面向对象开发之——原型模式
- 面向对象及组件开发(六)工厂模式之原型
- JavaScript面向对象程序设计三 原型模式(上)
- 简析面向对象中的继承,原型链,闭包之继承 7fe0
- JS面向对象组件(一) ---包装对象与原型链
- 前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型
- 面向对象与原型02