zoukankan      html  css  js  c++  java
  • js中的对象 函数 原型

    // 关于 Function Object 和 proto prototype
    // 1.每一个对象实例都有一个 proto 属性,这个属性就是指向 对象构造函数的原型.
    let b = new Function();
    console.log(b.proto === Function.prototype); // true
    console.log(Function.prototype); // [Function]
    console.log(Function.prototype.prototype); // undefined

    // 2. Function 是 Object, Object 也是 Function
    console.log(Function instanceof Object); // true
    console.log(Object instanceof Function); // true
    console.log(b instanceof Object); // true
    console.log(b instanceof Function); // true

    // Function 和 Object 区别
    // 1.由 Function 创造出来的实例对象,既是 Object 又是 Function
    // 2.由 Object 创造出来的实例对象, 是 Object,但不是 Function
    let a = new Object();
    console.log(a instanceof Object); // true
    console.log(a instanceof Function); // false

    //
    console.log(a.proto === Object.prototype); // true
    console.log(Object.prototype); // {}
    console.log(Object.prototype.prototype); // undefined

    // 如何形成原型链?
    class A{
    constructor(){
    this.name = 'a';
    }
    sayHi(){
    console.log('this is a say hi!');
    }
    }
    class B extends A{
    constructor(){
    super();
    this.age = 2;
    }
    }

    console.log(A.prototype); // {}
    console.log(B.prototype); // {}

    // 下面演示了 原型链
    // B->A->Object
    let obj = new B();
    console.log(obj.proto === B.prototype); // true;
    console.log(B.prototype.proto === A.prototype); // true
    console.log(A.prototype.proto === Object.prototype);
    console.log(Object.prototype.proto); // null

    console.log(A.proto === Function.prototype); // true
    console.log(B.proto === Function.prototype); // false
    console.log(B.proto.constructor); // [Function: Function]

    // 只有 通过 new A(); 创建的对象的 proto 才指向 A.prototype

    // 疑问: B.proto 到底指向哪?
    console.log(B.proto === A.prototype); // false

  • 相关阅读:
    JSON和JSONP
    微信问题汇总
    Linux 技巧:让进程在后台可靠运行的几种方法
    redis笔记
    php安装
    数据库分享一: MySQL的Innodb缓存相关优化
    nginx是以多进程的方式来工作的
    运行和控制Nginx
    nginx安装
    Redis监控技巧总结
  • 原文地址:https://www.cnblogs.com/daihanlong/p/9823945.html
Copyright © 2011-2022 走看看