JavaScript_创建对象的6种方式

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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值