请问javascript的prototype问题?
<script language="javascript">
var s=new Number(11);
document.write (s.prototype);</script>
s变量存的是Number对象,11属性值,为什么输出s.prototype显示undefined,而输出s为11怎么回事?s对象也可以赋值,好像对象只有属性可以赋值的啊?没听说过对象自己可以赋值的?

解决方案 »

  1.   

    write方法,如果参数是对象的话,会自动调用该对象的toString()方法
    这里相当于document.write(s.toString());
      

  2.   

    "s变量存的是Number对象,11属性值,
    为什么输出s.prototype显示undefined,而输出s为11 "为什么你认为会是输出11?
      

  3.   

    http://blog.csdn.net/kittyjie/archive/2009/07/26/4380918.aspx推荐不清楚prototype和constructor概念的人,看看上面这篇文章
      

  4.   

    prototype是用来扩展Number对象的
      

  5.   


    你的说法是不对的,参考:prototype 属性返回对象类型原型的引用。objectName.prototype
    objectName 参数是对象的名称。说明
    用 prototype 属性提供对象的类的一组基本功能。对象的新实例“继承”赋予该对象原型的操作。例如,要为 Array 对象添加返回数组中最大元素值的方法。要完成这一点,声明该函数,将它加入 Array.prototype,并使用它。function array_max( ){
       var i, max = this[0];
       for (i = 1; i < this.length; i++)
       {
       if (max < this[i])
       max = this[i];
       }
       return max;
    }
    Array.prototype.max = array_max;
    var x = new Array(1, 2, 3, 4, 5, 6);
    var y = x.max( );
    该代码执行后,y 保存数组 x 中的最大值,或说 6。所有 JScript 内部对象都有只读的 prototype 属性。可以象该例中那样为原型添加功能,但该对象不能被赋予不同的原型。然而,用户定义的对象可以被赋给新的原型。本语言参考中每个内部对象的方法和属性列表指出哪些是对象原型的部分,哪些不是。要求
    版本 2请参阅
    constructor 属性应用于: Array 对象 | Boolean 对象 | Date 对象 | Function 对象 | Number 对象 | Object 对象 | String 对象