js中的对象及创建对象的方法

本文深入讲解JavaScript中创建对象的三种核心方法:通过调用系统构造函数、工厂模式及自定义构造函数的方式。每种方法均有详细代码示例,帮助读者理解对象的属性与方法,并掌握在实际编程中灵活运用这些技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对象:有属性和方法,具体特指地某个事物

创建对象的三种方式:

1、调用系统的构造函数创建方法

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
//			第一种创建对象的方法:调用系统的构造函数创建对象
			var obj=new Object();
//			对象有行为--属性和特征--方法
//			添加属性-----对象.名字=值
			obj.name="han";
			obj.age=19;
			obj.sex="男";
//			添加方法-----对象.名字=函数
			obj.eat=function(){
				console.log("我喜欢吃莲菜");
			};
			obj.cook=function(){
				console.log("我会各种炒蛋");
			};
			console.log(obj.name);  //获取输出
			console.log(obj.age);
			console.log(obj.sex);
			obj.eat();     //调用方法
			obj.cook();
		</script>
	</head>
	<body>
	</body>
</html>

2、工厂模式创建对象

​<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			/**
			 * 如何获取该变量(对象)是不是属于什么类型的?
			 * 语法:
			 * 变量 instanceof 类型的名字----->布尔类型  true:是这种类型,false:不是这种类型
			 * 在当前的对象的方法中,可以使用this关键字代表当前对象
			 */
			
//			如何一次性创建多个对象,把创建对象的代码封装在一个函数中
//			工厂模式创建对象
			function creatObject(name,age){
				var obj=new Object();   //创建对象
				//添加属性
				obj.name=name;
				obj.age=age;
				//添加方法
				obj.sayHi=function (){
					console.log("你好,我叫:" +this.name+"我今年:"+this.age);
				};
				return obj;
			}
			//创建人的对象
			var per1=creatObject("丑丑",20);
			per1.sayHi();
			//创建一个人的对象
			var per2=creatObject("韩韩",20);
			per2.sayHi();
		</script>
	</head>
	<body>
	</body>
</html>
​

3、自定义构造函数创建对象

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			//自定义构造函数
			//函数和构造函数的区别:名字是不是大写,首字母大写则是构造函数
			function Person(name,age){
				this.name=name;
				this.age=age;
				this.sayHi=function(){
					console.log("我叫:"+this.name,"年龄是:"+this.age);
				};
			}
			
			//自定义构造函数创建对象,先构造一个函数,再创建对象
			var obj=new Person("丑丑",20);
			console.log(obj.name);
			console.log(obj.age);
			obj.sayHi();
			var obj1=new Person("韩韩",20);
			console.log(obj1.name);
			console.log(obj1.age);
			obj1.sayHi();
		</script>
	</head>
	<body>
	</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值