1. 通过默认的构造函数Object()构造对象。
e.g 先申明一个变量来接受通过
Object()
函数创建的空对象,在后可以为对象所需要的属性和方法赋值,最后打印对象的属性值和调用对象的方法。
/* //创建对象
var hero =new Object();
//属性--特征 名词
hero.name="xaioming";
hero.leve=0;
hero.diamond=0;
//行为---方法 动词
hero.moveLeft=function(){
console.log("left");
};
hero.attack=function(name){
console.log(this.name+"攻击"+name)
};
console.log(hero.leve);
hero.attack('xiaojj');*/
执行的结果如下:
此方法的缺点:不利于一次性构造多个对象,每构造一个新对象都需要写重复的代码,导致代码的冗余度过大。
2. 通过自定义函数构造对象。
eg.先通过关键字
function
构造一个名为createStudent
的函数,再在函数体内使用Object()
函数构造对象。每次通过参数的值来更新函数的属性值,从而达到每次可以产生不同属性值的对象。每次通过调用函数来实现创建对象。
//创建多个学生对象,自定义函数创建对象
function creatStudent(name,sex,score,banji){
var student=new Object();
student.name=name ;
student.sex=sex;
student.score=score;
student.class=banji ;
student.sayHi= function (){
console.log("你好,欢迎"+this.name+"加入")
};
return student;
}
var stu1=creatStudent("tangtang","女",100,"计科");
console.log(stu1.name);
stu1.sayHi();
console.log(stu1);
代码的结果如下:
优点:解决每次都需要写重复代码来创建对象。缺点:调用函数Object()
和return
语句不可以省略。
3. 通过自定义构造函数构造对象。
eg 通过关键字
function
创建构造函数,每次需要创建新对象时,自需要直接new()
一个,是属于仿造面向对象语言的构造对象方法,JavaScript是一种基于对象的语言。
function student(name,sex,score,banji){
this.name=name;
this.sex=sex;
this.score=score;
this.banji=banji;
this.sayHi=function (){
console.log(this.name+"是个大笨蛋");
}
}
var stu1=new student("zs","男",100,"计科1601");
var stu2=new student("zs32","男",10,"计科1601");
stu1.sayHi();
stu2.sayHi();
代码的结果如下:
总结:以上就是我所使用JavaScript创建对象的三种方法。