楼上说的不全对,
使用 prototype定义的方法相当于类的实例方法,必须new后才能使用;
不使用prototype定义的方法相当于类的静态方法,可以直接使用,不需要new,直接function名.xxx就能调用;
加prototype还可以this.xxx调用function中方法,不加prototype则没有调用的能力
prototype对象是实现面向对象的一个重要机制。
每个函数就是一个对象(Function),函数对象都有一个子对象 prototype对象,类是以函数的形式来定义的。prototype表示该函数的原型,也表示一个类的成员的集合。
在通过new创建一个类的实例对象的时候,prototype对象的成员都成为实例化对象的成员。
1、该对象被类所引用,只有函数对象才可引用;
2、在new实例化后,其成员被实例化,实例对象方可调用。
同时,函数是一个对象,函数对象若直接声明成员,不用被实例化即可调用。
其实总结下意思就是加了prototype的对象是不会被实例化的,是一个静态的方法
不加prototype每次new类的时候都会被实例化.占内存了.关键就是占内存了...