JS基础_使用工厂方法创建对象(了解下就行了,用的不多)
2024-09-01 15:04:07
<!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);
}
}; //-------------------------------------------------------------------------- /*
* 使用工厂方法创建对象
* 通过该方法可以大批量的创建对象
*/
function createPerson(name , age ,gender){
//创建一个新的对象
var obj = new Object();
//向对象中添加属性
obj.name = name;
obj.age = age;
obj.gender = gender;
obj.sayName = function(){
alert(this.name);
};
//将新的对象返回
return obj;
} /*
* 用来创建狗的对象
*/
function createDog(name , age){
var obj = new Object();
obj.name = name;
obj.age = age;
obj.sayHello = function(){
alert("汪汪~~");
}; return obj;
} var obj2 = createPerson("猪八戒",28,"男");
var obj3 = createPerson("白骨精",16,"女");
var obj4 = createPerson("蜘蛛精",18,"女"); /*
* 使用工厂方法创建的对象,使用的构造函数都是Object
* 所以创建的对象都是Object这个类型,
* 就导致我们无法区分出多种不同类型的对象
*/ //创建一个狗的对象
var dog = createDog("旺财",3); console.log(JSON.stringify(dog));//{"name":"旺财","age":3}
console.log(JSON.stringify(obj4));//{"name":"蜘蛛精","age":18,"gender":"女"} </script>
</head>
<body>
</body>
</html>
最新文章
- Ubuntu 16.04 LTS发布
- Centeros7 环境相关问题
- Windows自带Android模拟器启动失败
- 移动端 meta 标签笔记
- ExtJs之工具栏及菜单栏
- Host key verification failed解决
- struts2 查 找总结
- 手势识别官方教程(4)在挑划或拖动手势后view的滚动用ScrollView和 HorizontalScrollView,自定义用Scroller或OverScroller
- android 9Path图片的使用
- 清橙A1484
- 使用angularjs中ng-repeat的$even与$odd属性时的注意事项
- Windows Phone 9再见了!
- ACboy needs your help hdu 分组背包问题
- iOS 提交审核报错 ERROR ITMS-90087解决办法
- BZOJ_3038_上帝造题的七分钟2_线段树
- kafka 重新分配partition
- django 1.11 目录
- NSIS程序安装包制作
- 中南大学oj:1336: Interesting Calculator(广搜经典题目)
- Windows程序执行过程