1.Javascript 有对象没有“类”
Javascript里面都是对象,必须有一种机制,将所有对象联系起来。但是javascript并没有类的概念。。。
2.new关键字
javaScript使用new来生成对象,但是因为没有类的概念,javaScript只能通过一种类似与构造函数的方式实现创建对象。
举例来说,现在有一个叫做Car的构造函数,表示汽车对象的原型。
function Car(color){
this.color= color;
}
对这个构造函数使用new,生成一个汽车对象的实例。
var Car1= new Car('红色');
alert(Car1.color); // 红色
new产生的对象中,无法共享属性和方法。每一个实例对象,都有自己的属性和方法的副本。这不仅无法做到数据共享,也是极大的资源浪费。
例子:
function Car(color){
this.color= color;
tihis.type="法拉利";
}
var Car1= new Car('红色');var Car2= new Car('黄色');
此时如果你修改Car1的type为"奔驰",Car2的type属性仍然为“法拉利”。、
4.如何弥补?prototype!
function Car(color){
this.color= color;
}
CAR.prototype = { type: '法拉利‘ };
var Car2= new Car('黄色');
CAR.prototype.type = '拖拉机';
//这样一来你的两辆奔驰就变成了两辆颜色各异的拖拉机了