js 对象的_proto_属性 和函数的prototype属性分析

bill是 Employee类型的实例,_proto_指向Employee.prototype

Employee.prototype有一个constructor属性,指向Employee函数自身

function employee 就是一个函数类型的对象了,有标准的arguments、caller、length(参数个数)、prototype等属性,
它的prototype跟bill._proto_指的是同一个对象。
因为每个对象都有_proto_属性,指向这个对象的创建函数的prototype对象,所以函数对象也有(有点绕,要记住定义一个的函数也是一个对象),
这里function employee的_proto_指向的是一个匿名函数对象,而不是Object类型的对象,或者是Function类型的对象,不知道为啥。
估计是函数定义语法实际是创建了一个匿名函数给函数名?


展开这个_proto_指向的匿名函数对象,它的constructor属性其实就是指向js标准Function引用类型,
说明是由new Function创建出来的,
js 对象的_proto_属性 和函数的prototype属性分析的更多相关文章
- js 对象的_proto_
js 对象呢,有个属性叫_proto_,以前没听说过,也没关注,最近看这个原型,就被迫知道了这个东西,js 这里面的东西,真是规定的很奇怪,具体为啥也不知道,就测试发现的,对象的_proto_属性,和 ...
- JS对象、数据类型区别、函数
对象 基本数据类型都是单一的值,值和值之间没有任何联系,变量之间独立,不能成为一个整体. 对象属于一种符合的数据类型,对象中可以保存对个不同数据类型的属性. 对象分类: 1.内建对象 由ES标准 ...
- js对象、构造函数、命名空间、方法、属性
<script language="javascript"> var myNameSpace = new Object(); //构造一个命名 空间myCla ...
- JS对象中,在原型链上找到属性后 最终将值拷贝给原对象 而不是引用
遇到一个面试题 要求写一个函数A,每次进行new操作时候能输出2,3,4,5... new A() // 输出2 new A() // 输出3 new A() // 输出4 function A() ...
- JS中增加日期格式化原型函数之prototype
/** * javascript Date format(js日期格式化) * 对Date的扩展,将 Date 转化为指定格式的String 月(M).日(d).小时(h).分(m).秒(s).季度( ...
- JS对象深入剖析
对象概述 Objects are mutable keyed collections. An object is a container of properties, where a propert ...
- js原型和原型链,以及__proto__、prototype属性
__proto__和prototype属性: 1.__proto__属性: 在JS里,万物皆对象(函数是对象.原型也是对象...).对象都具有属性__proto__,这个属性会指向该对象的原型. 2. ...
- js 面向对象中,定义一个函数的过程
定义一个函数做的两件事:1: 实例化一个Function对象:2: 实例化一个Object对象,并给该函数扩展prototype属性指向这个构造函数 大致过程如图所示: 每一种引用类型(函数,对象,数 ...
- javascript对象初探 (五)--- 函数对象的属性
与其他对象相同的是,函数对象中也有一个叫做constructor的属性,其引用就是Function()这个构造函数. function her(a){ return a; } console.log( ...
随机推荐
- 10.20stark组件已经完工
2018-10-20 19:37:31 stark组件已经做完!基本上和Django的admin一样! 放上github连接:https://github.com/TrueNewBee/pythonD ...
- maven安装与创建多模块项目
最新版已同步至 http://yywang.info/2014/05/31/maven-install-and-create-project/ maven是一个比较流行的项目管理工具,在最近参与的项目 ...
- NFS使用autofs自动挂载
NFS自动挂载设置在/etc/fstab和/etc/rc.local可能挂载不成功,假如是服务端NFS宕机还可能导致客户端无法启动,可以使用autofs实现自动挂载 安装autofs yum -y i ...
- secureCRT修改背景色、字体颜色
参考: http://blog.csdn.net/jediael_lu/article/details/37729465 http://blog.csdn.net/dagefeijiqumeiguo/ ...
- ASP.NET MVC + EF 更新的几种方式
1.常用 db.Entry(实体).State = EntityState.Modified;db.SaveChanges(); 2.指定更新 db.Configuration.ValidateOnS ...
- PAT甲级1060 Are They Equal【模拟】
题目:https://pintia.cn/problem-sets/994805342720868352/problems/994805413520719872 题意: 给定两个数,表示成0.xxxx ...
- 洛谷P1316 丢瓶盖【二分】【贪心】
题目:https://www.luogu.org/problemnew/show/P1316 题意: 给定a个点的坐标(在一条直线上),现在要选b个点,问这b个点的最近距离的最大值是多少. 思路: 感 ...
- hadoop历史版本,包括大名鼎鼎的hadoop 0.20.2
http://archive.apache.org/dist/hadoop/core/ 大名鼎鼎的hadoop 0.20.2在此: http://archive.apache.org/dist/had ...
- tensorflow 的tf.where详解
最近在用到数据筛选,观看代码中有tf.where()的用法,不是很常用,也不是很好理解.在这里记录一下 tf.where( condition, x=None, y=None, name=None ) ...
- 如何写好.babelrc?Babel的presets和plugins配置解析
什么是Babel The compiler for writing next generation JavaScript. 官网是这么说的,翻译一下就是下一代JavaScript 语法的编译器. 作为 ...