原型链结构图

作者: LIT乐言 | 来源:发表于2017-12-01 21:40 被阅读24次

原型链结构图

代码示例

//01 提供Person构造函数
function Person(name,age) {
    this.name = name;
    this.age = age;
}

//02 设置Person的原型对象
Person.prototype.showName = function () {
    console.log(this.name);
}

//03 创建Student构造函数
function Student(number) {
    this.numer = number
}

//04 设置Student的原型对象
Student.prototype = new Person();

原型链图示例

Snip20170213_10.png

Function.prototype原型链

关于Function和自定义构造函数的原型对象

Function.prototype 是一个空的函数
自定义构造函数的原型对象是一个空的对象

说明

Function也可以被当做是一个构造函数
通过new Function创建出来的函数,可以认为是Function的实例化对象。
Function的原型对象是一个空的函数,这个空的函数也是一个对象,它的原型对象是Object.prototype。
在JS中,Object的原型对象是所有对象的祖宗。

Function是构造函数,则其原型对象为空的函数
        空的函数的原型对象为Object.prototype
Function本身也是对象,则其构造函数为:function Function() { [native code] }  是自身
同Object类型
Object本身是构造函数,其原型对象是Object.prototype
Object本身也是对象,其构造函数为:function Function() { [native code]

代码示例

//01 提供Person构造函数
function Person(name,age) {
    this.name = name;
    this.age = age;
}

//02 设置Person的原型对象
Person.prototype.showName = function () {
    console.log(this.name);
}

//03 创建Student构造函数
function Student(number) {
    this.numer = number
}

//04 设置Student的原型对象
Student.prototype = new Person();

完整的原型链示意图

Snip20170213_12.png

Object和Function的关系

01 Object构造函数是通过Function构造函数实例化出来的

02 Function构造函数也是通过Function构造函数实例化出来的

代码示例

//检查对象是否是某个构造函数的实例
console.log(Function instanceof Function);
console.log(Function instanceof Object);
console.log(Object instanceof Object);
console.log(Object instanceof Function);

//注意:以上打印结果均为true

相关文章

  • 原型链结构图

    原型链结构图 代码示例 原型链图示例 Function.prototype原型链 关于Function和自定义构造...

  • 函数原型链结构图(未完)

    Function是对象也是函数,因此Function拥有了函数的属性prototype,还有对象的属性__prot...

  • 通俗易懂的原型链与原型

    以一道面试题来阐述:简述Number的原型链结构 储备知识 prototype为函数专有,意为原型____prot...

  • javaScript系列 [04]-javaScript的原型链

    本文旨在花很少的篇幅讲清楚JavaScript语言中的原型链结构,很多朋友认为JavaScript中的原型链复杂难...

  • "每日记"——原型图文档

    原型图使用工具: Axure 结构图使用工具: visio 结构图 原型图 此时未登录时,看不到导航栏,只有登录/...

  • 原型模式C++

    原型模式,用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 原型模式结构图 原型模式基本代码 原型...

  • zepto源码分析·core模块

    准备说明 该模块定义了库的原型链结构,生成了Zepto变量,并将其以'Zepto'和'$'的名字注册到了windo...

  • Android设计模式系列(10)--SDK源码之原型模式

    1.意图用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 2.结构图和代码它的结构图非常简单,我们...

  • 原型设计(三节课)

    什么时候到原型设计环节?信息架构图->业务流程->页面流程->原型设计 纸和笔是最常用的原型设计工具

  • 【链结幸福】【链结财富】:

    过去,任何财富来自买卖。 未来,真正财富来自链结。 请问你是如何看待财富的?你是借由「痛苦当奴隶」以便获得财富?...

网友评论

    本文标题:原型链结构图

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