<!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这个类型
* 就导致我们无法区分多种不同类型的对象
*/