关于prototype的问题-prototype属性是浏览器(如IE)内置的吗.
我在使用javascript编写面象对象代码时,可以直接使用 prototype来继承某个父类,并没有包含任何JS文件,就可以实现.
但我从网上查到说$()方法也是prototype框架的一部分,那为什么使用这些方法需要把prototype.js文件显示包含进去呢,这些是个什么关系,请指教,困扰好久了.谢谢

解决方案 »

  1.   

    你问题前面提到的prototype和后面的prototype不是同一物前面的prototype 是js的一个属性,叫做原型,一般是给对象绑定属性和方法用的后面的prototype是一个js框架,其实就是用js写的一个工具包,名字叫prototype所以运行这个包的时候要导入他,类似面向对象语言中的包导入而prototype这个包创建对象(获得对象)的方法就是$("")
      

  2.   

    谢谢谢谢,也就是说名字一样,但不是一个东西啊.
    我去查查javascript关键字看看
      

  3.   

    楼主需要弄清楚两个概念:prototype 和 prototype.jsprototype.js只是一个JavaScript Frameworkprototype是JavaScript中对象的属性:objectName.prototype 返回对象类型原型的引用。参考:
    prototype 属性
    请参阅
    constructor 属性应用于: Array 对象 | Boolean 对象 | Date 对象 | Function 对象 | Number 对象 | Object 对象 | String 对象
    要求
    版本 2
    返回对象类型原型的引用。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 对象