自定义对象

首先要介绍一下对象的定义和作用:

对象其实就是一组无序属性的集合,对象是由属性和方法组成的,事物特有的特征叫属性,事物拥有的行为叫方法

对象可以帮助我们封装一些数据,方便我们在程序中传输或者控制

程序中常见的对象主要有三种:Math  Array   function,现实生活中其实万物皆对象

程序中除了三种主要的对象,我们就需要自定义一些对象,然后拿来传输,使用

我们可以通过构造函数来创建自定义对象

可以通过实例来帮助了解

var shudent=new Object();                     -------------创建一个放置学生信息的对象

student.name="赵四";          -----------属性

student.sex="男";            -----------属性

student.sayHi=function(){        -----------方法

  console.log("我叫"+student.name+"性别"+student.sex);

  }

};

console.log("student.name");

console.log("student.sex");

student.sayHi();             -----------对象名.方法名();

 

批量创建对象,借助函数能创造更多对象

function  creatStudent(name,sex){

  var shudent=new Object(); 

  student.name=name;

  student.sex=sex;

  student.sayHi=function(){        

  console.log("我叫"+student.name+"性别"+student.sex);

  }

  return student;

};

var a= creatStudent(赵四,男);

a.sayHi();

var b= creatStudent(张三,男);

b.sayHi();

。。。

 

理解以上步骤后,现在可以更简化

function  Student(name,sex){                                         -----------构造函数来创建对象

  this.name=name;                    -----------this指代当前创建出来的属性

  this.sex=sex;

  this.sayHi=function(){        

  console.log("我叫"+this.name+"性别"+this.sex);

  }

};

var a=new  Student(赵四,男);

a.sayHi();

var b=new  Student(张三,男);

b.sayHi();                    ------------谁调用,this就指代谁,始终指向当前对象

用new关键字来完成,

1创建一个空对象   2将关键字this指向这个空对象  3执行构造函数里面的代码,给当前对象this设置属性和方法

4将this这个当前对象返回

 

字面量对象

var o={

  name:"赵四",

  sex:"男",

  age:20,

  sayHi=function(){        

  console.log("我叫"+o.name+"性别"+o.sex+"年龄"+o.age);

  }

}

  console.log(o.name);

  o.sayHi();

还有另外一种表达输出方式

var o={

  name:"赵四",

  sex:"男",

  age:20,

  sayHi=function(){        

  console.log("我叫"+o["name"]+"性别"+o["sex"]+"年龄"+o["age"]);

  }

}

  console.log(o["name"]);

  o["sayHi"]();

posted @ 2016-08-04 21:11  程序猿1990  阅读(175)  评论(0编辑  收藏  举报