JavaScript构造函数和其它函数的唯一区别: 构造函数是通过new操作符来调用的。 也就是说如果构造函数不用new操作符来调用,那它就是普通函数,反过来说任何函数通过new操作符来调用就可以当做构造函数。 function Car(name,color,speed,type){ this.name=name; this.color=color; this.speed=speed; this.type=type; } //通过new来调用 var car1=new Car('xixi','red',2,'a'); console.log(car1.name); //xixi //没用new来调用 var car2=Car('haha','green',3,'b'); console.log(car2.name); //报错 console.log(window.name); // haha 上面的例子表明,如果构造函数没有通过new来调用的话,this对象指向的是window(在浏览器中),和普通函数没有任何区别。。。 (责任编辑:最模板) |