1.自定义对象
创建的对象可以拥有各自独特的属性
<script>
function Car(){}
var c1=new Car();
c1.color="white";
c1.brand="Audi";
c1.price=200000;
c1.start=function(){
console.log("go go go!");
}
var c2=new Car();
c2.color="black";
c2.brand="BMW";
c2.stop=function(){
console.log("no oil!");
}
</script>
2.构造函数创建对象
创建的对象拥有构造函数中的属性,也可以自己再创建新属性
<script>
function Car(color,brand,price,start,stop){
this.color=color;
this.brand=brand;
this.price=price;
this.start=start();
this.stop=stop();
}
function start(){
console.log("go go go!");
}
function stop(){
console.log("no oil!");
}
var c1=new Car("black","Audi",200000,start,stop);
c1.pass=function(){
console.log("so so")
}
c1.weight="1ton";
</script>
3.文字标记方式
创建单个对象,没有类的限制,属性及属性值用键值对的方式表示,属性之间用逗号隔开。
<script>
var c1={
color:"black",
brand:"Audi",
price:200000,
start:function(){
console.log("go go go!")
}
}
</script>
4.文字标记组
文字标记方式的数组组合
<script>
var car=[
{
color:"black",
brand:"Audi",
price:200000,
start:function(){
console.log("go go go!");
}
},
{
color:"white",
brand:"BMW",
price:100000,
stop:function(){
console.log("no oil!");
}
}
];
</script>
5.工厂模式
调用生产方法,返回一个生产的对象,创建的对象都一样
<script>
function getCar(){
var o1=new Object();
o1.color="black";
o1.brand="audi";
o1.start=function(){
console.log("go go go!");
}
return o1;
}
var c1=getCar();
</script>
6.原型模式
只能创建和原型相同的对象
<script>
function Car(){
Car.prototype.color="black";
Car.prototype.brand="Audi";
Car.prototype.start=function(){
console.log("go go go !");
}
}
var c1=new Car();
</script>