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起到了很关键的作用。

阅读剩余部分

相关阅读 >>

vue 动态加载 vuex

js数组如何删除指定元素

巧妙的给div、p标签添加onload事件

你知道在js中如何比较数值大小吗?

js实现博客网站运行天数计算

如何使用原生js实现下拉选项卡

文件上传组件webuploader基本使用

如何用js实现直接运行html的代码

手把手教你如何实现前端的吸顶效果

html css js是干什么的

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




打赏

取消

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

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

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

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

评论

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