美文网首页
JavaScipt原型

JavaScipt原型

作者: Poppy11 | 来源:发表于2020-07-04 16:29 被阅读0次

我们先定义一个构造器(函数):

function People(a,b,c){
    this.height = a;
    this.weight = b;
    this.age = c;
}

原型对象

原型是个很抽象的概念,因为我们并不能看到它。当定义了一个构造器(也就是创建一个函数)的时候,就会产生一个原型对象。这个构造器所构造的对象,都会从原型对象中继承到属性,方法等,我们定义一个小明‘xiaoming’对象,并打印出来:

var xiaoming = new People(170,60,18);
console.log(xiaoming);

在控制台可以看到:

image

检查小明对象的proto属性,也就是小明对象的构造器的原型对象,我们会发现它实际上就是上面我们看过的People构造器的原型对象(People.prototype)。

那么什么是原型链呢?

其实理解了原型,就很好理解原型链了,我们发现小明对象继承自People构造器的原型对象,而People构造器的原型对象又是从哪继承的呢?

__proto__:Object

object(对象)就是People原型对象的构造函数,点开它会发现它不再拥有proto属性了,也就是它的proto属性是null,这就说明寻找构造函数到头了,这就是所谓的原型链的终点。
事实上,随便定义一个对象:

var xiaohei = {
    height:180,
    weight:80,
    age:20
}

然后去控制台打印出来:

console.log(xiaohei);

会显示:

image

它并没有一个构造函数,它的原型对象的构造函数就是object构造函数,事实上在JavaScript中不管什么对象,只要顺着它的proto属性往上寻找,就必然会回到object构造函数,也就是说JavaScript中任何对象都是object的实例。这就是原型链。

相关文章

  • JavaScipt原型

    我们先定义一个构造器(函数): 原型对象 原型是个很抽象的概念,因为我们并不能看到它。当定义了一个构造器(也就是创...

  • javascript中的原型链与继承

    javascript中的原型链与继承javascipt中的原型链和继承机制是这门语言所特有的,但js中的原型机制也...

  • 原型与原型链

    一、prototype在JavaScipt中,每个函数都有一个prototype属性,这个属性指向着函数的原型对象...

  • SWIG与nodejs入门

    前言 Javascipt是一种基于原型的脚本语言。它是动态的,弱类型的语言。它可以说是最流行的Web开发语言。Ja...

  • ECMAScript新特性

    ECMAScript通常看作JavaScipt的标准化规范,实际上JavaScipt是ECMAScript的扩展语...

  • Javascipt(3)

    JS中的函数 一、定义绝对值函数 第一种方式: 第二种方式: 函数相当于是匿名的,可以把结果赋值给abs,通过ab...

  • AJAX

    Ajax定义 "Asynchronous Javascipt And XML":异步JavaScript和XML。...

  • Webstorm关闭分号提示

    ctrl/cmd+调出Prefernces配置,选到Code Style JavaScipt 再Punctuati...

  • 补发实习第一二天:关于数组的基本知识点及其核心算法

    2018.9.20-9.21自学手册2018.9.20body中的javascipt函数

  • 小白的JS之路--多态

    对长点评:在面向对象中的多态,在JavaScipt中实现起来就是这么容易。

网友评论

      本文标题:JavaScipt原型

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