日期:2014-05-16  浏览次数:20388 次

有没有人知道Function.prototype?
alert(Function.prototype);  
显示:
function   prototype()   {
        [native   code]
}
应当是一个函数。
Function.prototype.call(null);   没有反映。

Function.prototype不可赋值但可以改变属性和方法,

不知道有Function.prototype什么用呢?

------解决方案--------------------
Function.prototype._0009 = "夏天以南 ";
function func() { }
alert(func._0009);
------解决方案--------------------
谁说不可以赋值
Function指函数类
用prototype方法可以定义,或者修改一个类的属性和方法

var Class;
Class.prototype.Member= "Value ";
Class.prototype.Method=function (){};
可以用
Class.Method();alert(Class.Member);

还可以用来扩展系统函数,比如
Array.prototype.getLength=function () {
return this.length;
}
var a=new Array();
alert(a.getLength());
用来返回某数组长度(一个例子而已,其实其他应用是很广泛的)
------解决方案--------------------
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
※以下是引用楼主 qqq123(Boreas) 在2007-07-12 18:22:23 的发言:
──────────────────────────────────────────
作为prototype任何对象都可以为什么是一个函数,而且不可赋值?
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
汗,看了几遍真没看懂你在说什么!!难怪以前语文总不及格!
------解决方案--------------------
Array String Function Date Number 等这些系统对象的 prototype 本身是不可以直接修改的
------解决方案--------------------
prototype好象是追加属性用的吧?我理解~
------解决方案--------------------
Function.prototype是追加方法
你alert下当然是把涵数过程输出了