js原型链是什么


本文摘自PHP中文网,作者little bottle,侵删。

原型链是一种机制,指的是JavaScript每个对象包括原型对象都有一个内置的[[proto]]属性指向创建它的函数对象的原型对象,即prototype属性。

作用:原型链的存在,主要是为了实现对象的继承。

关于原型链的几个概念:

1、函数对象

在JavaScript中,函数即对象。

2、原型对象

当定义一个函数对象的时候,会包含一个预定义的属性,叫prototype,这就属性称之为原型对象。

1

2

3

//函数对象

function F(){};

console.log(F.prototype)

6a.jpg

3、__proto__

JavaScript在创建对象的时候,都会有一个[[proto]]的内置属性,用于指向创建它的函数对象的prototype。原型对象也有[[proto]]属性。因此在不断的指向中,形成了原型链。

举个例子来说,我们将对象F的原型对象修改一下,就可以清楚看到上述的关系

1

2

3

4

5

6

7

//函数对象

function F(){};

F.prototype = {

    hello : function(){}

};

var f = new F();

console.log(f.__proto__)

6b.jpg

4、new

当使用new去调用构造函数时,相当于执行了

1

2

3

var o = {};

o.__proto__ = F.prototype;

F.call(o);

因此,在原型链的实现上,new起到了很关键的作用。

阅读剩余部分

相关阅读 >>

如何实现javascript延时加载

自学 html5 要多久

javascript实现鼠标滚轮控制页面图片切换

vue和node是什么关系

js如何准确判断变量的数据类型

js classname如何修改class属性

javascript如何实现html字符转实体

js为什么回调?

如何用test()方法进行正则验证

js中的布尔运算符如何使用

更多相关阅读请进入《js》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...