我正在读这个链接JavaScript_syntax
这似乎是循环的 - 每个函数都是一个Object,每个Object本身都是一个函数.哪个是原子的?有人能以更好的方式解释吗?
来自http://www.jibbering.com/faq/faq_notes/closures.html:
注意:ECMAScript定义内部Object类型的内部[[prototype]]属性.使用脚本无法直接访问此属性,但它是使用在属性访问器解析中使用的内部[[prototype]]属性引用的对象链; 对象的原型链.存在公共原型属性以允许与内部[[prototype]]属性相关联的原型的分配,定义和操作.ECMA 262(第3版)中描述了两者之间关系的细节,超出了本讨论的范围.
两者之间的关系有哪些细节?我浏览了ECMA 262,所有我读过的内容都是:
构造函数的关联原型可以由程序表达式constructor.prototype引用,
本机ECMAScript对象具有名为[[Prototype]]的内部属性.此属性的值为null或对象,用于实现继承.
每个内置函数和每个内置构造函数都有Function原型对象,它是表达式Function.prototype的初始值.
每个内置原型对象都有Object原型对象,它是表达式Object.prototype(15.3.2.1)的初始值,作为其内部[[Prototype]]属性的值,除了Object原型对象本身.
从这一点我收集到的是[[Prototype]]属性相当于prototype几乎任何对象的属性.我错了吗?
有没有办法在不使用原型库的情况下为所有javascript函数添加方法?
类似的东西:
Function.prototype.methodName = function(){
return dowhateverto(this)
};
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止尝试但它没有工作.也许这也是一个坏主意,如果可以,请告诉我为什么?
如果可以,我可以将它添加到我选择的一组功能中
就像是 :
MyFunctions.prototype.methodName = function(){
return dowhateverto(this)
};
Run Code Online (Sandbox Code Playgroud)
其中MyFunctions是一个函数名数组
谢谢
我有这个功能:
function fff(){}
这是一个function它是一个实例Function constructor
所以fff.__proto__应该告诉我:function Function() { [native code] }
但事实并非如此.
表明 : function Empty() {}

这只是我看到的constructor财产__proto__function Function() { [native code] }
题 :
这个function Empty() {}功能是什么
,为什么fff.__proto__不告诉我:function Function() { [native code] } ?
注:我知道,__proto__是在查找链用来解决方法等实际的对象prototype是使用对象建立 __proto__,当你创建一个对象new.
但是又一次:函数fff是一个在幕后通过newing实例化的函数Function constructor.......所以?