<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>工厂模式</title>
</head>
<body>
<script type="text/javascript">
// var jsPerson1 = {
// name:"ldh",
// age:48,
// writeJS:function () {
// console.log("my name is" + this.name + "i can write JS 啦");
// }
// }
// jsPerson1.writeJS();
//
// var jsPerson2 = {
// name:"yhz",
// age:48,
// writeJS:function () {
// console.log("my name is" + this.name + "i can write JS 啦");
// }
// }
// jsPerson2.writeJS();
// 单例模式虽然结局了分组的作用,但是不能实现批量的生产,属于手工作业模式->我们引入工厂模式
// 工厂模式
// 把实现同一件事情的相同代码放到同一个函数中,以后如果再想实现这个功能,不需要重新编写这些代码了,只需要执行当前的函数就行了 -- > 函数的封装 --> 低耦合 高内聚 :减少页面中的冗余代码 提高代码的复用率
function creatJSPerson( name , age) {
var obj = {};
obj.name = name;
obj.age = age;
obj.writeJS = function () {
console.log("my name is" + this.name + "i can write JS 啦");
}
return object;
}
var p1 = creatJSPerson("王小波",48);
var p2 = creatJSPerson("ldh",49);
// JS是一门轻量级的脚本"编程语言" (HTML + CSS 不属于编程语言,属于标记语言)
// 类的继承.封装.多态
// 继承:子类继承父类中的属性和方法
// 多态:当前方法的多种形态 -> 后台语言当中 :多态包含 重载 和 重写
// JS中的多态 : 子类对父类方法的方法
// public void sum(int num1,int num2){
//
// }
// public void sum(String num1,String num2){
//
// }
// sum(1);
// JS中不存在重载,方法名一样的话,后面的会把前面的覆盖掉,最后只保留一个
// JS中有一个操作类似重载但是不是重载:我们可以根据传递参数的不一样,实现不一样的功能
function sum(num) {
if (typeof num == "undefined") {
return 0;
}
return num;
}
sum();
// JS中存在重写 重写 :子类重写父类的方法
</script>
</body>
</html>
网友评论