继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Javascript 创建对象的几种方式

AllySu
关注TA
已关注
手记 40
粉丝 870
获赞 3669

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();  
打开App,阅读手记
2人推荐
发表评论
随时随地看视频慕课网APP

热门评论

const o = Object.create(null)

这样也可以^_^

查看全部评论