码迷,mamicode.com
首页 > Web开发 > 详细

js创建对象的几种方式

时间:2015-06-27 17:58:02      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:

直接上代码

方法一:

var person=new Object(); //创建了一个对象.
person.name="tom"; //使用person对象对调用name属性,它的值为tom
console.log(person.name); //显示name属性值
person.say=function(){ //对person对象添加了一个say函数。
       console.log("person say");
};
person.say();

方法二:

var person={
    name:"tom",
age:29, say:
function(){ alert("hello person"); } }; //创建了一个对象 person.age=10;//为对象重新赋值 console.log(person.age);

方法三:

//js中定义类是使用function。
var Person = function(name,age){ //我们在定义一个类。 相当于它具有一个有参数的构造函数。
    this.name =name;//类的属性
    this.age=age;
    this.say = function(){ //类的方法.
         console.log("say good");
    }
}
var p = new Person("fox",29); //定义Person类的一个对象p
alert(p.name); //调用name属性

方法四:工厂模式

function createPerson(name,age,job){ 
         var o = {}; 
         o.name = name; 
         o.age = age; 
         o.job = job; 
         o.sayName = function(){ 
         console.log(this.name); 
}; 
         return o; 
} 
var tanya = createPerson("tanya","30","female"); 
var ansel = createPerson("ansel","30","male"); 
tanya.sayName(); 
ansel.sayName(); 

方法五:

var person={
  name:‘tony‘,
  $age:null,
  get age(){
  if(this.$age==null){
    return new Date().getFullYear()-1986;
    }else{
        return this.$age;
    }
},
    set age(val){
      if(!isNaN(val)&&val>0&&val<100){
        this.$age=val;
    }else{
      throw new Error(‘Incorrect val =‘+val)
    }
}
}
var one =Object.create(person);
one.father="li";
one.mother="wang";
//输出one对象自己的属性,这里涉及到原型链
for(p in one){ if(one.hasOwnProperty(p)){ console.log(one[p]);//li,wang } }

 

js创建对象的几种方式

标签:

原文地址:http://www.cnblogs.com/diantao/p/4604284.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!