javascript创建对象的几种方式
javascript创建对象简单的说,无非就是使用内置对象或各种自定义对象,当然还可以用JSON;但写法有很多种,也能混合使用。
1、对象字面量的方式
person=;
2、用function来模拟无参的构造函数
1 function Person(){} 2 3 var person=new Person();//定义一个function,如果使用new"实例化",该function可以看作是一个Class 4 5 person.name="Mark"; 6 person.age="25"; 7 person.work=function(){ 8 alert(person.name+" hello..."); 9 }; 10 person.work();
3、用function来模拟参构造函数来实现(用this关键字定义构造的上下文属性)
1 function Pet(name,age,hobby){ 2 this.name=name;//this作用域:当前对象 3 this.age=age; 4 this.hobby=hobby; 5 this.eat=function(){ 6 alert("我叫"+this.name+",我喜欢"+this.hobby+",是个程序员"); 7 } 8 } 9 var maidou =new Pet("麦兜",25,"coding");//实例化、创建对象 10 maidou.eat();//调用eat方法
4、用工厂方式来创建(内置对象)
1 var wcDog =new Object(); 2 wcDog.name="旺财"; 3 wcDog.age=3; 4 wcDog.work=function(){ 5 alert("我是"+wcDog.name+",汪汪汪......"); 6 }; 7 wcDog.work();
5、用原型方式来创建
function Dog(){ } Dog.prototype.name="旺财"; Dog.prototype.eat=function(){ alert(this.name+"是个吃货"); }; var wangcai =new Dog(); wangcai.eat();
6、用混合方式来创建
1 function Car(name,price){ 2 this.name=name; 3 this.price=price; 4 } 5 Car.prototype.sell=function(){ 6 alert("我是"+this.name+",我现在卖"+this.price+"万元"); 7 }; 8 var camry =new Car("凯美瑞",27); 9 camry.sell();