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