javascript - JS中的Function()函数对象
欧阳克
欧阳克 2017-06-12 09:29:33
0
3
805

Object()构造函数可以看做是:var Object=new Function();
Array()构造函数可以看做是:var Array=new Function();
.....那么:
Function()构造函数可以看做是:var Function=new Function()?
自己创建了自己?
还有类似的其他的一些原生对象,Object.prototype,作为原型链的终极原型对象,他是怎么被创造出来的?难道也是new Object()创造出来的?但Object.prototype不应该是JS原生系统里第一个对象吗?
感觉已经无法理解JS的基于原型思想了,还请大神指点.......

欧阳克
欧阳克

温故而知新,可以为师矣。 博客:www.ouyangke.com

全部回复(3)
学习ing

其实不是鸡生蛋蛋生鸡的问题,所有的对象其实都是function,包括function自己;先说原型,原型基于构造函数和__proto__,并且这两个包含于prototype,并且这三个一起组成了一个function;原型链基于__proto__的指向,原型链是自底向上,就近原则,查找想要的属性,形成原型链;所以js是模拟的语言,这也是它和其他语言的本质区别!

我想大声告诉你
  1. 可以通过new来产生对象(函数)跟所有的对象(函数)都需要通过new来产生是不一样的。

  2. Function,Object等可以认为是js实现的过程中提供的,我的理解是浏览器为了实现原型链,在提供这些函数的时候按照原型链的实现给他们添加了__proto__-->***.prototype。就是js环境提供了几个特殊的对象(函数),然后为了不违背规范,对这些对象(函数)做了处理。

第一条肯定是对的,第二条是我的理解。

伊谢尔伦

雷雷

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板