javascript原型链

1. 两个特殊对象,Object 和 Function他们也都是构造函数,用于创建对象

  1)Object.prototype 所有对象的祖先

  2)Function.prototype 所有函数的原型,包括构造函数

2.  javascript大概可以分为三类:

1)用户创建的对象 new

2)构造函数对象 function

3)原型对象  prototype

注:①以上三种类型的对象都有一个__proto__的属性,它指向对象原型

        ②从任何对象开始遍历都可以找到Object.prototype

        ③构造函数对象有prototype属性,它指向一个原型对象,通过该构造函数创建对象,该对象的__proto__属性指向构造函数的prototype属性

        ④原型对象有constructor属性,指向它对应的构造函数

如下例子:

function Foo(){
}
Object.prototype.name = 'My Object';
Foo.prototype.name = 'bar';//构造函数的原型属性name

var obj = new Object();
var foo = new Foo();

console.log(boj.name);// My Object
console.log(foo.name);// bar

console.log(foo.__proto__.name);// bar  foo的原型属性name
console.log(foo.__proto__.__proto__.name);//My Object  
console.log(foo.__proto__.constructor.__proto__.name);//bar

3. javascript 继承机制

  1)javascript的继承是一种交原型链的机制实现的

   2)属性继承的本质就是一个对象可以访问到原型链上任何一个原型对象的属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值