美文网首页
06.函数对象完整关系

06.函数对象完整关系

作者: Fl_来看看 | 来源:发表于2019-06-06 12:11 被阅读0次
2019-04-13_165921.png

前置知识看下面
按顺序解释下:

  • Function构造函数的prototype指向Function的原型对象,Function函数又是对象,Function的proto指向创造她的构造函数的原型对象,这个比较特殊,因为Function是所有构造函数的祖先,所以Function的proto===Function的原型对象
  • Function创造了Object,所以Object的proto===Function的原型对象
  • Function的原型对象也是对象,对象的proto指向了Object原型对象
  • Object又是构造函数,所以Object的prototype===Object原型对象,Object原型对象又是对象,所以Object原型对象.proto===null,终结了
    以上是Function函数和Function函数创造出来的Obeject函数之间的关系,以及Obeject函数和Obeject原型对象之间的关系

Function不仅可以创造Object函数,还可以创造普通构造函数Person,而Person也可以创造对象obj1,下面说这些之间的关系。

  • Function 创建了Person,所以Person.proto===Function 的原型对象,
  • 构造函数有自己的原型对象,所以Person的prototype===Person的原型对象
  • Person也可以创造对象obj1,所以obj1__proto__===Person的原型对象
  • Person的原型对象也是对象A,对象A的proto指向了Object原型对象

前置知识
1.所有的构造函数都有一个prototype属性, 所有prototype属性都指向自己的原型对象

2,所有的原型对象都有一个constructor属性, 所有constructor属性都指向自己的构造函数

3.所有函数都是Function构造函数的实例对象

4.所有函数都是对象, 包括Function构造函数

5.所有对象都有proto属性

6.普通对象的proto属性指向创建它的那个构造函数对应的"原型对象"

7.所有对象的proto属性最终都会指向"Object原型对象"

8."Object原型对象"的proto属性指向NULL

        function Person(myName, myAge) {
            this.name = myName;
            this.age = myAge;
        }
        let obj1 = new Person("lnj", 34);
console.log(Function.prototype.__proto__);
console.log(Person.prototype.__proto__);
console.log(Function.prototype.__proto__ === Person.prototype.__proto__);
console.log(Function.prototype.__proto__ === Object.prototype);
console.log(Person.prototype.__proto__ === Object.prototype);
22.jpg

相关文章

  • 06.函数对象完整关系

    前置知识看下面按顺序解释下: Function构造函数的prototype指向Function的原型对象,Func...

  • 点击App以后

    App启动的完整过程 main函数 UIApplicationMain函数 创建UIApplication对象 创...

  • this

    对象与函数的关系 * 箭头函数的 this 等于外面的 this

  • ★06.对象

    简介 JavaScript 中的对象时动态的,属性可以增删,当常用来模拟静态对象以及静态类型语言中的 结构体 。 ...

  • js继承

    继承 构造函数 原型对象 对象实例 三者之间的关系 每个构造函数都拥有一个原型对象,构造函数.prototy...

  • 19_怎么理解js中的原型链?如何实现继承?实现继承常用的方式有

    一、理解js的原型 1、函数和对象的关系 函数也是对象的一种,通过instanceof可以判断出来。但是函数和对象...

  • 2019-05-15 函数与对象

    函数是对象 JS 中对象函数没有关系,JS 之父通过 this 强行使得它们有关系。 obj.fn.call(ob...

  • c++11Lamda表达式

    完整格式 [函数对象参数] (操作符重载函数参数) mutable 或 exception 声明 -> 返回值类型...

  • js-----对象的引用

    以下为对象的赋值关系 以下为对象的引用关系 对象和函数 ——>>>都是引用关系 浅拷贝: 深拷贝: 注意:下图的 ...

  • 构造函数、实例对象、原型对象三者之间的关系

    三者之间的关系: 构造函数可以实例化对象 构造函数中有一个属性叫prototype,是构造函数的原型对象 构造函数...

网友评论

      本文标题:06.函数对象完整关系

      本文链接:https://www.haomeiwen.com/subject/xwwexctx.html