急,javscript的toString方法?function kk(){}
kk.prototype.toString= function (){
 return ' this is a description about "kk"';
}
var s=new kk()为什么kk.prototype.toString=function(){}
toString()是方法,为什么可以赋值呀????不是属性为什么可以赋值,不懂啊 

解决方案 »

  1.   

    prototype是原型,在js里面,所有的对象的属性都可以是动态的,可以随意增加属性。
    一个属性既可以指向方法,也可以指向对象。var a = {}; // 创建一个新的Object对象
    a.newProperty = "new property"; // 为a添加新的属性newProperty,指向字符串"new Property"
    a.newProperty = function() {}; // 覆盖a的newProperty属性,指向一个新方法
    a.newProperty(); // 调用a的newProperty方法Object类已经定义过了toString方法,kk对它进行了覆盖:
    kk.property.toString = function() {}则后面所有以 new kk()的方式创建的kk对象,都使用kk定义的toString的方法。