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