请老师检查
来源:3-10 编程练习
Redamancy_Y6
2020-03-12 12:03:00
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script type="text/javascript">
// 工厂模式
function createObject(name,action){
var obj = new Object();
obj.name = name;
obj.action = function(){
return action;
}
return obj;
}
var box = createObject("imooc","前端");
alert(box.action());
// 原型模式
function test(){}
test.prototype = {
name : "imooc",
action : function(str){
alert(str);
}
}
var run = new test();
run.action("前端");
// 混合模式
function blog(name){
this.name = name;
}
blog.prototype = {
action:function(str){
alert(str);
}
}
var peo = new blog("imooc");
peo.action("前端");
</script>
</body>
</html>2回答
同学你好,代码实现正确。另外,混合模式常用一些。其实混合模式和原型模式的区别就是:前者把属性定义在构造函数里面,后者是把属性定义在原型上。一般我们会把属性定义在构造函数上,而方法是一个函数,里面可能会有很多功能,所以把它定义在原型上更便于管理。
工厂模式是为了降低代码重复。例如创建一个对象的过程很复杂,需要一定的代码量,而且很多地方都要用到,那么就会有很多的重复代码。那么就可以把创建对象的代码放到工厂里统一管理。既减少了重复代码,也方便后期的修改维护。当然了,工厂模式只是从表面上简化的创建相似对象,把参数放进去。开发中不常用,了解一下即可。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
Redamancy_Y6
提问者
2020-03-12
老师,还有个问题,这些声明对象的方法中,哪个是最常用的?有什么区别?
相似问题