美文网首页Web 前端开发
原型对象和普通对象

原型对象和普通对象

作者: 向布谷鸟说早安 | 来源:发表于2018-08-02 21:19 被阅读5次

今天查看了下js的原型对象和普通对象,二者的不同之处是原型对象有构造constructor属性,而普通对象仅仅有一个不能被访问到的proto属性。

所以,对对象的所有操作,比如for in循环,我们也可以通过得到函数的prototype来操作原型对象,二者本质上是一致的。既然是一致的所以原型对象上也会有proto属性,js高级教程第六章有提到,这个属性其实就是个指针,那么原型对象的这个属性又指向谁呢?
这里,我定义了一个简单的对象,Person。

测试代码
正如你所看到的,Person原型的proto,也就是原型的原型,就是Object.prototype。从这个角度上也可以解释原型链吧!那Object是什么呢?哈哈哈,它也仅仅是一个构造函数而已。
测试代码

但要注意,在用for in循环对象上属性的时候,我们可能不能得到原型对象上的constructor属性,因为for in 循环只能循环可枚举类型,而constructor属性是不可枚举的。

相关文章

  • 原型对象和普通对象

    今天查看了下js的原型对象和普通对象,二者的不同之处是原型对象有构造constructor属性,而普通对象仅仅有一...

  • JavaScript继承学习总结(面试篇)

    说继承之前先说几个概念。 原型和原型链 在JS中万物皆对象,对象有分函数对象(Function),普通对象(Obj...

  • JavaScript

    原型: 原型对象也是普通的对象,是对象一个自带隐式的 proto 属性,原型也有可能有自己的原型,如果一个原型对象...

  • JavaScript原型和原型链

    js里,一切皆对象,但有普通对象和函数对象之分,通过new Function()创建的对象就是函数对象。 原型对象...

  • js原型和继承

    说到原型就不得不说构造函数,js一切皆对象,但分为普通对象和函数对象,构造函数就属于函数对象,所谓的原型和继承也是...

  • javascript-原型、原型链深入理解

    通过阅读本文你会了解到什么是:原型和原型链、普通对象和函数对象、__proto__和prototype、构造函数(...

  • JS原型链

    要搞清楚原型链,首先清楚对象. 对象分为两种:普通对象和函数对象. 函数对象:通过new Function()创建...

  • JavaScript(三)---原型与原型链

    原型 js分为普通对象和函数对象,typeof检测时为object或者function 每个对象都有_proto_...

  • 对象和对象原型

    JavaScript 中的万物皆对象:字符串、数值、数组、函数... 对象只是带有属性和方法的特殊数据类型: Oo...

  • 深入理解JavaScript对象

    对象的种类 函数对象与普通对象 构造函数与原型对象 prototype 与__proto__ prototype ...

网友评论

    本文标题:原型对象和普通对象

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