欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

如何创建JavaScript对象

程序员文章站 2022-03-27 12:20:40
...

1、直接创建方式

<script>
	//直接创建方式创建对象
	var student = new Object();
	student.name="tom";
	student.dohomework=function(){
		console.log(this.name+"正在做作业");
	}
	student.dohomework();
</script>

如何创建JavaScript对象

2、 对象初始化器方式

<script>
	//对象初始化器方式定义对象
	var student={
		name:"tom",
		dohomework:function(){
			console.log(this.name+"正在做作业");
		}
	}
	student.dohomework();
</script>

结果同方法1;

前两种方法无法一次创建多个同种对象,适用于只需创建一次的对象

3、构造函数方式

<script>
	//构造函数方式定义对象
	function Student(name){
		this.name=name;
		this.dohomework=function(){
			console.log(this.name+"正在做作业");
		}
	}
	var student = new Student("tom");
	student.dohomework();
</script>

结果同方法1;
4、prototype原型方式

<script>
	//prototype原型方法定义对象
	function Student(){
	}
	Student.prototype.name="tom";
	Student.prototype.dohomework=function(){
		console.log(this.name+"正在做作业");
	}
	var student = new Student();
	student.dohomework();
</script>

结果同方法1;

构造函数方式便于动态为属性赋值,但是这种方式将方法也定义在了构造方法体中,使得代码比较杂乱;而原型方式不便于为属性动态赋值,但是这种方式定义的属性和方法实现了分离;所以取长补短——构造函数定义属性原型方式定义方法

5、 混合的构造函数/原型方式

<script>
	//混合式(构造方法式和原型方法相结合)定义对象
	function Student(name){
		this.name=name;
	}
	Student.prototype.dohomework=function(){
		console.log(this.name+"正在做作业");
	}
	var student = new Student("tom");
	student.dohomework();
</script>

结果同方法1;