码迷,mamicode.com
首页 > 其他好文 > 详细

自定义对象

时间:2016-08-04 23:06:32      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:

我们知道了内置对象,那就不难理解自定义对象,随着社会的发展,一些内置对象满不足不了我们的需求,那这时就需要我们自己定义一些我们需要的对象,我们要了解他的一些基本概念,比如它的组成,作用啊。它是由属性和方法组成,他的作用是帮我们封装一些数据,方便我们在程序中传输和控制。它倒是有好几种创建方式:

一:通过构造函数来创建

// 自定义对象如何 创建   通过构造函数的方式创建对象
var student = new Object(); //创建了一个学生的空对象
// 属性(特征,姓名,性别,年龄,手机号,家庭)和方法(打招呼,游泳,打球)
student.name = "张三";
student.sex = "";
student.age = 20;
student.sayHi = function (){
console.log("我叫"+student.name+",我今年"+student.age+",我是"+student.sex+"");
};

// var num = 25;
// console.log(num);

console.log(student.name);
console.log(student.age);
console.log(student.sex);

二:批量创建函数

function  createStudent(name,age,sex){
var student = new Object();// 用构造函数的方式创建了一个空对象并返回
student.name =name;
student.age = age;
student.sex= sex;
student.sayHi= function(){
console.log("我叫"+student.name+",我今年"+student.age+",我是"+student.sex+"");
};
return student;//将这个对象返回
}

var zs = createStudent("张三",25,"");
zs.sayHi();

var ls = createStudent("李四",26,"");
ls.sayHi();
var zs1 = createStudent("赵四",28,"");
zs1.sayHi();

上面批量创建对象里,student是对象,它可以有很多,那我们要怎么创建一个泛指的自定义对象呢,当我们调用时再给对象赋值,这样就可以使我们程序更简洁,我们可以使用两个关键字,this和new。

function  createStudent(name,age,sex){
//var student = new Object();// 用构造函数的方式创建了一个空对象并返回
this.name =name; // 将当前的对象用另一个关键字来代替,就是this
this.age = age;
this.sex= sex;
this.sayHi= function(){
console.log("我叫"+this.name+",我今年"+this.age+",我是"+this.sex+"");
};
//return student;//将这个对象返回
}

//var zs = new createStudent("张三",22,"");
//
//zs.sayHi();

用这种方法,是很方便,但我们要清楚的弄清this和new在这里的一些功能,因为这种构造方法中this和new是很重要的,this在这里可以指所有对象,当调用时,你想要什么对象。this它就指向谁,new在这里的作用就要多了点,它主要执行了四个步骤:

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

三:对象字面量创建方式,它看上去更简洁,如果用的熟的话,那这个用起来是很方便的。

 var o = {
name:"张三",
age:20,
address:"上海市",
sex:"",
// sayHi:function(){
// console.log("大家好,我的名字是:"+ this.name+",我的年龄是:"+ this.age+",我是"+ this.sex+"");
// }
sayHi:function(){
console.log("大家好,我的名字是:"+ o["name"]+",我的年龄是:"+ o["age"]+",我是"+ this.sex+"");
}
};

它用一个{}把所有东西就包括进去了,当我们看见{}就要知道它是个对象,当看到[ ]时,我们要知道它是个数组,这两个符号都代表不同意义。

其实这里面的格式和上面差不多,只是把对象"o"放到最外面,里面格式是属性+":"+属性值+","。理解了上面的几种方式后,看这种应该会觉得这种更简单,也简洁。

 

JSON是JavaScript的对象的表达方式。我们只要知道他是传输数组的一种数据格式,他和对象字面量差不多,唯一的不同就是在属性上要加上双引号(“”);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 // 自定义对象如何 创建   通过构造函数的方式创建对象
   
var student = new Object();  //创建了一个学生的空对象
   
// 属性(特征,姓名,性别,年龄,手机号,家庭)和方法(打招呼,游泳,打球)
   
student.name = "张三";
   
student.sex = "";
   
student.age = 20;
   
student.sayHi = function (){
       
console.log("我叫"+student.name+",我今年"+student.age+",我是"+student.sex+"");
    };

//    var num = 25;
//    console.log(num);

   
console.log(student.name);
   
console.log(student.age);
   
console.log(student.sex);

   
//函数名();
    //
对象名.方法名();
   
student.sayHi();

自定义对象

标签:

原文地址:http://www.cnblogs.com/cykblogs/p/5738650.html

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