js原型链指的是什么

这篇文章给大家分享的是有关js原型链指的是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

成都创新互联公司是一家业务范围包括IDC托管业务,虚拟主机、主机租用、主机托管,四川、重庆、广东电信服务器租用,棕树数据中心,成都网通服务器托管,成都服务器租用,业务范围遍及中国大陆、港澳台以及欧美等多个国家及地区的互联网数据服务公司。

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

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

关于原型链的几个概念:

1、函数对象

在JavaScript中,函数即对象。

2、原型对象

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

//函数对象
function F(){};
console.log(F.prototype)

js原型链指的是什么

3、__proto__

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

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

//函数对象
function F(){};
F.prototype = {
    hello : function(){}
};
var f = new F();
console.log(f.__proto__)

js原型链指的是什么

4、new

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

var o = {};
o.__proto__ = F.prototype;
F.call(o);

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

5、constructor

原型对象prototype上都有个预定义的constructor属性,用来引用它的函数对象。这是一种循环引用。

function F(){};
F.prototype.constructor === F;

在实际运用中,经常会有下列的写法

function F(){};
F.prototype = {
    constructor : F,
    doSomething : function(){}
}

这里要加constructor是因为重写了原型对象,constructor属性就消失了,需要自己手动补上。

6、原型链的内存结构

function F(){
    this.name = 'zhang';
};
var f1 = new F();
var f2 = new F();

感谢各位的阅读!关于js原型链指的是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!


网站名称:js原型链指的是什么
网页地址:http://bzwzjz.com/article/gphdhs.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都品牌网站建设 定制网站建设多少钱 成都网站制作 成都网站制作 成都模版网站建设 成都网站制作 高端定制网站设计 成都定制网站建设 网站制作 成都商城网站制作 成都网站制作 重庆外贸网站建设 成都网站建设 手机网站制作 高端网站建设 网站建设推广 四川成都网站设计 重庆手机网站建设 成都网站制作 成都网站建设 响应式网站设计 营销网站建设