58-Function函数

  • JavaScript中函数是引用类型(对象类型), 既然是对象, 所以也是通过构造函数构造出来的, "所有函数"都是通过Function构造函数创建来的对象

          console.log(Function);  // ƒ Function() { [native code] }
    
          // 这个构造函数也是通过Function构造函数创建出来的实例对象
          function Person(myName, myAge) {
              this.name = myName;
              this.age = myAge;
          }
    
          let obj1 = new Person("lnj", 34);
    



  • JavaScript中只要是"构造函数"就有prototype属性, "Function构造函数"的prototype属性指向"Function原型对象"

          console.log(Function.prototype);    // ƒ () { [native code] }
    



  • JavaScript中只要是"原型对象"就有constructor属性, "Function原型对象"中的constructor指向它对应的构造函数

          console.log(Function.prototype.constructor);  // ƒ Function() { [native code] }
          console.log(Function === Function.prototype.constructor);   // true
    



  • Person构造函数是Function构造函数的实例对象, 所以也有__proto__属性, Person构造函数的__proto__属性指向"Function原型对象"

          function Person(myName, myAge) {  // Person构造函数
              this.name = myName;
              this.age = myAge;
          }
    
          let obj1 = new Person("lnj", 34);  // Person实例对象
    
          console.log(Person.__proto__);     // ƒ () { [native code] }
          console.log(Person.__proto__ === Function.prototype);   // true
    



JavaScript中万物皆对象, 只要是对象就有__proto__属性


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容