《JS对象深入》

构造函数

构造函数就是可以构造出对象的函数

  • 构造函数X
    X函数本身负责给对象本身添加属性
    X.prototype对象负责保存对象的共有属性

new

  • new X()自动做了四件事情
    自动创建空对象
    自动为空对象关联原型,原型地址为X.prototype
    自动将空对象作为this关键字构建函数
    自动return this

原型与公共函数的关系

  • prototype存的是原型的地址

  • 你是谁构造的 你的原型就是谁的prototype属性对应的对象

  • 原型公式
    对象.proto===其构造函数.prototype

  • Object.prototype是哪个函数构造出来的 不知道
    他的原型是什么 没有原型
    Object。prototype.proto的值是null

对象需要分类

  • 理由一:
    有很多对象拥有一样的属性和行为,需要把他们分为一类,这样创建类似的对象就很方便
  • 理由二:
    但是还有很多对象拥有其他的属性和行为,所以就不需要分类

终极疑问

  • window是谁构造出来的
    Window 可以通过constructor属性看出构造者
  • window.Object是谁构造的
    window.Function 因为所有函数都是window.Function构造的
  • window.Function是谁构造的
    window.Function
    以为所有函数都是由window.Function构造的,浏览器构造了Function然后指定他的构造者是自己

注意

Object.prototype不是object的原型,下划线proto才是object的原型
记住公式:x.原型等价于x.下划线proto

本文为张歆辉的原创文章,著作权归本人和饥人谷所有,转载务必注明来源

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

推荐阅读更多精彩内容