javascript创建对象

创建 JavaScript 对象

通过 JavaScript,您能够定义并创建自己的对象。

创建对象的第一种方法:直接通过Object来创建对象。(使用这种方式创建对象,带来最大的问题是没有类的约束,无法实现对象的重复使用,并且没有一种约定,在操作时会带来问题。)
 
实例:

      

var person = new Object();  //创建新的对象
            person.name = "Leon"; 
            person.age = 22;
            
            person.say = function() {  给对象创建方法
                alert(this.name + "," + this.age);
            }
            person.say();
            alert(person.age);

创建对象的第二种方法:json就是js的对象,但是它省去了xml中标签,而是通过{}来完成对象的说明.

实例:

 

var person = {
                name: "张三", //通过属性名:属性值来表示,不同的属性通过,来间隔
                age: 23,
                say: function() {
                    alert(this.name + "," + this.age);
                }//最后一个属性之后不能有,
            }
            person.say();

 

通过json也可以创建对象数组

    
var ps = [
        {
          name : "Leson",
          age : 25,
          say :  function(){
               alert(this.name + "," + this.age);    
            }
         },
        {
          name : "Adia",
          age : 20  
         },
          {
          name : "Peros",
          age : 30  
         } 
    ];    
   ps[0].say();

 

通过工厂的方式创建Car对象,在createCar中创建一个对象,然后为这个对象设置相应的属性和方法,之后返回这个对象。

实例:

  

function createCar(name,lunzi){
    var car = new Object();
    car.name = name;
    car.lunzi = age;
    car.say = function() {
    
          alert("汽车的名字:"+this.name+“,轮子:”+this.lunzi)
    }
     return car;
    }    

    var car1= createCar("凯迪拉克",4);
    var car2= createCar("奔驰",5);
    car1.say();
    car2.say();
    

 

 

通过构造函数的方式创建,使用构建函数创建时,在函数内部通过this关键字来完成属性的定义。

实例:

  

function Person(name,age){
     this.name  = name;   
     this.age  = age; 
     this.say  = say; 
}  //将行为设置为全局的行为
function say(){
  
      alert(this.name+","this.age);
}
通过new Person来创建对象
var p1 = new Person("Abcs",22);
var p2 = new Person("Lops",19);

alert(p1 instanscof Person);//构造函数的方式可以通过以下的方式来检测

 

 

通过原型的创建方式,使用基于原型的穿件可以将属性和方法设置为Person专有的,不能通过window来调用。

实例:

 

function Person(){

}

Person.prototype.name = "Leon";
Person.prototype.age = 23;
Person.prototype.sex = "man";
Person.prototype.say = function() {
    alert(this.name + "," + this.age);
}

var p1 = new Person();
p1.say();
var p2 = new Person();
p2.say();
p2.name = "kk";
p2.say();
p1.say();

 

 

 

 

  

 

posted @ 2016-07-24 20:52  贾冬  阅读(179)  评论(0编辑  收藏  举报