资讯专栏INFORMATION COLUMN

JavaScript原型及原型链

SKYZACK / 1456人阅读

摘要:原型及原型链区别一下,普通对象和函数对象。原型的作用就是继承。原型链在创建对象不论是普通对象还是函数对象的时候,都有一个叫做的内置属性,用于指向创建它的函数对象的原型对象。总结一下事实证明,真正起作用的不是,而是。

JavaScript原型及原型链

区别一下,普通对象和函数对象。函数对象才有prototype属性。

函数对象:

function f1(){};
var f2 = function(){};
var f3 = new Function("str","console.log(str)");

普通对象:

var o3 = new f1();
var o1 = {};
var o2 =new Object();

简单的说,凡是通过 new Function() 创建的对象都是函数对象,其他的都是普通对象。
原型的作用就是继承。

原型链:
JS在创建对象(不论是普通对象还是函数对象)的时候,都有一个叫做__proto__的内置属性,用于指向创建它的函数对象的原型对象prototype。
原型对象prototype中都有个预定义的constructor属性,用来引用它的函数对象。

person.prototype. constructor === person  //true
Function.prototype.constructor === Function //true
Object.prototype.constructor === Object //true

总结一下:

var animal = function(){};
var dog = function(){};
animal.price = 2000;//
dog.prototype = animal;
var tidy = new dog();
console.log(dog. price)  //undefined
console.log(tidy.price)  // 2000

事实证明,真正起作用的不是prototype ,而是__proto__。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/78281.html

相关文章

  • javaScript原型原型详解(二)

    摘要:当然这还没完,因为我们还有重要的一步没完成,没错就是上面的第行代码,如果没有这行代码实例中的指针是指向构造函数的,这样显然是不对的,因为正常情况下应该指向它的构造函数,因此我们需要手动更改使重新指向对象。 第一节内容:javaScript原型及原型链详解(二) 第一节中我们介绍了javascript中的原型和原型链,这一节我们来讲利用原型和原型链我们可以做些什么。 普通对象的继承 ...

    widuu 评论0 收藏0
  • javaScript原型原型详解(一)

    摘要:执行行代码,我们可以看到控制台打印出来的结果如下结果印证了我们上面讲的内容指向的构造函数指向的原型对象原型对象中指向构造函数。 在javascript中原型和原型链机制是最难懂的部分(没有之一),同时也是最重要的部分,在学习的过程中你可能认认真真的看了一遍但还是完全不懂书上说的什么,的确是这样的,我在学习的时候可是反复看了4、5遍才初步理解了。 下面我把我的理解总结了一下希望对你们有...

    springDevBird 评论0 收藏0
  • JavaScript原型原型

    摘要:每个原型对象都有一个属性指向关联的构造函数为了验证这一说话,举个例子。 本文共 1475 字,读完只需 6 分钟 一、概述 在 JavaScript 中,是一种面向对象的程序设计语言,但是 JS 本身是没有 类 的概念,JS 是靠原型和原型链实现对象属性的继承。 在理解原型前,需要先知道对象的构造函数是什么,构造函数都有什么特点? 1. 构造函数 // 构造函数 Person() ...

    liaosilzu2007 评论0 收藏0
  • 浅谈javascript原型原型

    摘要:在中,主要有两种创建对象的方法分别是对象字面量以及调用构造函数对象字面量调用构造函数其实上述两种创建对象的方法,本质上是一样的,都是引擎调用对象的构造函数来新建出一个对象。 原型与原型链是javascript里面最最核心的内容,如果不能理解它们之间的存在关系的话,那么我们是不能理解这门语言的。 在JS中,主要有两种创建对象的方法, 分别是对象字面量以及调用构造函数 //对象字面量 va...

    includecmath 评论0 收藏0
  • JavaScript 的继承方式优缺点

    摘要:继承简介在的中的面向对象编程,继承是给构造函数之间建立关系非常重要的方式,根据原型链的特点,其实继承就是更改原本默认的原型链,形成新的原型链的过程。 showImg(https://segmentfault.com/img/remote/1460000018998684); 阅读原文 前言 JavaScript 原本不是纯粹的 OOP 语言,因为在 ES5 规范中没有类的概念,在 ...

    nanchen2251 评论0 收藏0

发表评论

0条评论

SKYZACK

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<