• js中的原型以及原型链


    在js中原型是每个构造函数的属性:

    这个算 js 核心概念的一部分

    var f1 = new Foo();

    对象 f1 的构造函数就是 Foo , f1的原型 __proto__ 就指向构造函数 Foo.prototype

    可以吧代码复制一份在你控制台看看

    function GetNum() {
            alert('1');
        }
        var a=new GetNum;
        console.log(GetNum);
        console.log(a);
        console.log(a.__proto__);
        console.log(GetNum.prototype) ;
        console.log(GetNum.__proto__);
        console.log(GetNum.prototype.__proto__) ;
        console.log(Object.prototype);
        console.log(Object.prototype.__proto__);
    打印出来会看到:
    a.__proto__===GetNum.prototype//true
     
     
    GetNum.prototype.__proto__===Object.prototype//true
     
    Object.prototype.__proto__//null------->对象这个类没有对应的上一级原型链了,他就是原型链的顶端
    打印出来可以看到Object.prototype是这样的:他没有这个__proto__属性
     
     
     
    在看一下这个:这里可以用对象的toStrin方法进行数据类型的判断,
    var getType=Object.prototype.toString;
    console.log(Object.prototype.toString.call(Object));//[object Function]   ---->对象本身也是一个最大的构造函数
    所以说原型就是每个构造函数的__proto__属性,它指向对应的类的prototype,
    例如可以new date=new Date;
    那么date__proto__指向Date这个类的prototype,但是最后还是会指向Object.prototype
    var  date=new Date;
    console.log(date.__proto__);
    console.log(Date.prototype);
    date.__proto__===Date.prototype//true

    原型链就是这样一个一个原型组成的一级一级向上查找的链条。
  • 相关阅读:
    一行代码教你屏蔽你的博客广告
    一步一步教你给博客主页添加自定义炫酷效果
    让资源管理器变得像Chrome一样标签化
    weblayer组件介绍
    Tiny模板编辑器
    Tiny流程编辑器
    Tiny界面编辑器
    Tiny模板运行器
    org.tinygroup.pageflowbasiccomponent-页面流
    Tiny服务编辑器
  • 原文地址:https://www.cnblogs.com/-youth/p/6373904.html
Copyright © 2020-2023  润新知