<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<div id="my"></div>
<script>
// 表 属性名 属性值
var wyLook = function(i, ii, iii) {
if (shu_jv_ku[i] == undefined) {
shu_jv_ku[i] = {
id: 0
}
} else if (shu_jv_ku[i][ii] == undefined) {
shu_jv_ku[i][ii] == {}
}
shu_jv_ku[i][ii] = iii
shu_jv_ku[i].id++
}
var getwyLook = function(i, ii) {
if (ii == undefined) {
return shu_jv_ku[i]
} else {
return shu_jv_ku[i][ii]
}
}
// 数据库
var shu_jv_ku = {};
// 类
var cal = (function() {
var cal = function(cal1) {
// 继承防止出
var ee = ''
// 检测是否开启了继承模式
if (cal1.e != undefined) {
ee = cal.prototype.e(cal1.e)
}
// 检测是否开启了 共享模式
if (cal1.public != undefined) {
cal.prototype.public(cal1.public)
}
//检测 是否开启了模板模式
if (cal1.form != undefined) {
cal.prototype.form(cal1.form)
}
wyLook(cal1.shu.biao, cal1.shu.name, cal1.wy(ee, getwyLook('public'), cal.prototype.formzhi_xing))
}
cal.prototype.e = function(e = [], ee = {}) {
var er = e.shift()
if (er) {
ee[er[1]] = getwyLook(er[0], er[1])
return cal.prototype.e(e, ee)
} else {
return ee
}
}
cal.prototype.public = function(e = {}) {
for (ww in e) {
wyLook('public', ww, e[ww])
}
}
cal.prototype.form = function(e = {}) {
for (ww in e) {
wyLook('form', ww, e[ww])
}
}
// 参数1 原有的模板的名字 参数2 被重写的模板
cal.prototype.formzhi_xing = function(eename, e = {}) {
var ee = getwyLook('form', eename)
for (ww in ee) {
if (e[ww] != undefined) {
e[ww]()
} else {
ee[ww]()
}
}
}
return cal
})()
// 包容盒
cal({
//写入数据库
shu: {
biao: 'gong_jv',
name: 'node'
},
// 数据库值 i 继承的参数 ii 共享模式 iii 模板方法
wy: function(i, ii, iii) {
iii('cc', {
1: function() {
console.log('重写了模板的这条语句')
}
})
return {
}
},
// 共享模式
public: {
cc: {
name: '121'
}
},
//模板方法
form: {
cc: {
0: function() {
console.log('原来')
},
1: function() {
console.log('原来')
},
2: function() {
console.log('原来')
},
}
}
})
cal({
shu: {
biao: 'gong_jv',
name: 'ww'
},
wy: function(i) {
return {
}
}
})
cal({
// 继承数据库的值 表 属性名
shu: {
biao: 'gong_jv',
name: 'w'
},
wy: function(i) {
return {
}
}
}),
console.log(shu_jv_ku)
</script>
<script>
</script>
</body>
</html>
js 设计模式3 (共享,模板,继承)
最新推荐文章于 2022-09-22 10:00:00 发布