创建一个对象可以有几种方法

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
			/**
			 * 创建一个对象
			 * 
			 */
// 			var obj={
// 				name:"孙悟空",
// 				age:18,
// 				gender:"男",
// 				sayName:function(){
// 					alert(this.name);
// 				}
// 			};
// 			var obj2={
// 				name:"猪八戒",
// 				age:12,
// 				gender:"男",
// 				sayName:function(){
// 					alert(this.name);
// 				}
// 			};
// 			var obj3={
// 				name:"沙和尚",
// 				age:38,
// 				gender:"男",
// 				sayName:function(){
// 					alert(this.name);
// 				}
// 			};
// 			obj.sayName();
			//像上面这样创建对象有点笨,不能创建很多,然后又都一样
			/**
			 * 可以使用工厂方法创建对象
			 */
			function createPerson(name,age){
				//创建一个新的对象;
				var obj=new Object();
				obj.name=name;
				obj.age=age;
				obj.sayName=function(){
					alert(this.name);
				};
				return obj;
			}
			var obj2=createPerson("孙悟空",12);
			var obj3=createPerson("白骨精",14);
			console.log(obj2);
			console.log(obj3);
			obj3.sayName();
			
			
		</script>
	</head>
	<body>
	</body>
</html>

/**
* 使用工厂方法创建的对象,使用构造函数都是Object
* 所以创建的对象都是Object这个类型
* 就导致我们无法区分多种不同类型的对象
*/

猜你喜欢

转载自blog.csdn.net/qq_41648092/article/details/88935244