instl / javascript / Javascript 创建对象的几种方式

0 0

   

Javascript 创建对象的几种方式

2019-08-07  instl

javascript 创建对象简单说,无非就是使用对象或各种自定义对象,当然可以使用JSON;但写法有很多种,也能混合使用。

1. 对象字面量的方式

    var Cat = {};  //JSON  
        Cat.name = "吃遍天下鱼",  //添加属性并赋值  
        Cat.age = 5,
        Cat.sayHello = function(){  
            alert("Hello"+Cat.name+",今年"+Cat["age"]+"岁了");  
   }  
 Cat.sayHello();//调用对象的方法(函数)  

2.用function(函数)来模拟class(无参构造函数)

 function Person(){}
    var person = new Person();//定义一个function,如果有new关键字"实例化",function可以看做是一个类  
        person.name = "单身狗";  
        person.hobby = "调戏敲代码";  
        person.work = function( ){  
            alert(person.name+"正在"+person.hobby);  
        }  
        person.work();

3.用有参数构造函数来实现,这样定义更方便,扩展性更强(推荐使用)

function Pet(name,age,hobby){ 
      this.name = name;  //this作用域:当前对象  
      this.age = age;  
      this.hobby = hobby;  
      this.eat = function(){  
      alert("我叫"+this.name+",我今年"+this.age+"岁了,我喜欢"+this.hobby);  
       }  
}  

var sofa = new Pet("二哈",3,"拆沙发。");   //实例化创建对象  
    sofa.eat();  

4.使用工厂方式来创建对象(Object关键字)

var wcDog = new Object();  
    wcDog.name = "旺财";  
    wcDog.age = 3;  
    wcDog.work = function(){  
        alert("我是"+wcDog.name+",汪汪汪......"+"我今年"+wcDog.age+"岁了。");  
        }  
    wcDog.work();  

5.使用原型对象的方式 prototype关键字

 function Dog(){}
   Dog.prototype.name="旺财";  
   Dog.prototype.eat=function(){  
   alert(this.name+"非常听话。");  
      }  
   var wangcai = new Dog();  
   wangcai.eat();  

6.混合模式(原型和构造函数)

  function Car(name,price){  
        this.name = name;  
        this.price = price;  
    }  
    Car.prototype.sell = function(){  
        alert("我是"+this.name+",我现在卖了"+this.price+"万元。");
    }  
    var niubicar = new Car("奔驰代理商",2400);  
    niubicar.sell();  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。如发现有害或侵权内容,请点击这里 或 拨打24小时举报电话:4000070609 与我们联系。

    猜你喜欢

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多
    喜欢该文的人也喜欢 更多