博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js 模板方法模式
阅读量:5045 次
发布时间:2019-06-12

本文共 1288 字,大约阅读时间需要 4 分钟。

父类中定义算法骨架,子类中实现和改变一些算法

例:导航的实现

//算法骨架 var formateStr=function (param, data) {
return param.replace(/\{#(\w+)#\}/g,function (match, key) {
return typeof data[key]===undefined? "":data[key] }) }; var Nav=function (data) {
var _this=this; _this.item='
  • {#content#}
  • '; _this.html='
      '; for (var i=0,l=data.length;i
    //基础导航  var obNav=document.getElementById('nav');     obNav.innerHTML=Nav([         {
    hrefUrl : 'http://www.baidu.com', content : '百度一下' }, {
    hrefUrl : 'http://www.zhihu.com', content : '知乎一下' } ]);
    //带提示消息的导航 var infoNav=function (data) {
    var _this=this; _this.info='{#num#}'; for (var i=data.length-1;i>=0;i--){
    data[i].content+=formateStr(_this.info,data[i]) } return Nav.call(this,data) }; var objNav=document.getElementById('nav'); objNav.innerHTML=infoNav([ {
    hrefUrl : 'http://www.baidu.com', content : '百度一下', title : '百度', num : '10', sign : 'sign="1"' }, {
    hrefUrl : 'http://www.zhihu.com', content : '知乎一下', title : '知乎', num : '10', sign : 'sign="2"' } ]);

    转载于:https://www.cnblogs.com/redn/p/8119419.html

    你可能感兴趣的文章
    java aes CBC的填充方式发现
    查看>>
    使用ionic cordova build android --release --prod命令打包报有如下错误及解决方法
    查看>>
    BZOJ 2338 HNOI2011 数矩形 计算几何
    查看>>
    关于页面<!DOCTYPE>声明
    查看>>
    【AS3代码】播放FLV视频流的三步骤!
    查看>>
    C++标准库vector使用(更新中...)
    查看>>
    cocos2d-x 2.2.6 之 .xml文件数据读取
    查看>>
    枚举的使用
    查看>>
    BZOJ 1531 二进制优化多重背包
    查看>>
    BZOJ 2324 (有上下界的)费用流
    查看>>
    python3基础06(随机数的使用)
    查看>>
    Zookeeper系列(二)特征及应用场景
    查看>>
    【HTTP】Fiddler(三)- Fiddler命令行和HTTP断点调试
    查看>>
    Spring Boot使用Druid和监控配置
    查看>>
    poi 处理空单元格
    查看>>
    Android 内存泄漏优化总结
    查看>>
    luogu4849 寻找宝藏 (cdq分治+dp)
    查看>>
    Spring Cloud微服务笔记(五)Feign
    查看>>
    C语言键盘按键列表
    查看>>
    Codeforces Round #374 (Div. 2)
    查看>>