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

阅读剩余部分

相关阅读 >>

js判断数组中是否包含某个值

js如何将json字符串转换为json对象

jquery里面能不能写php方法?

js计算两个日期之差天数总是不正确

jquery easyui收费的么

如何利用js获取form表单数据

js classname如何修改class属性

javascript中你所不知道的sort方法

js如何控制css

canvas实现雪花随机动态飘落效果(代码示例)

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




打赏

取消

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

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

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

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

评论

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