面向对象中的原型链

1.hasOwnProperty:看是不是对象自身的属性.

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();
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值