js设计模式:解释器模式

作用:

对文本进行解释和编译的时候,就会用到解释器模式

比如你写了一段js代码,js引擎就会去解释并执行这段代码

webpack中的各种loader就是用来解释各种文件类型的,并将其解释为js可识别的代码

示例:

javascript 复制代码
         //翻译词库
         const wordList = [
           {
            text:'韩信前期有蓝有红,必须拿二杀。你要是有红有蓝,拿不了二杀,啧,那这把就很难赢了。弟弟,不要打超级兵!',
            result:'信若有红蓝,必斩敌二将。若有红蓝而未斩敌首,呜呼,此局难胜矣。吾弟切记,勿攻铁甲军!'
           }
         ]
         //古文翻译软件
          class Interpreter{
            interpret(text){
              return wordList.find(item=>item.text === text).result
            }
          }
          
          const Interpreter1 = new Interpreter()
          const result1 =  Interpreter1.interpret('韩信前期有蓝有红,必须拿二杀。你要是有红有蓝,拿不了二杀,啧,那这把就很难赢了。弟弟,不要打超级兵!')
          console.log('文本1:',result1)

          //js编译器
          class jsCodeCompile{
            interpret(jsCode){
               eval(jsCode)
            }
          }
          let jscompile1 = new jsCodeCompile()
          jscompile1.interpret("console.log('这是一段控制台输出语句')")
相关推荐
excel1 小时前
JavaScript 中 substr、substring 和 slice 的区别
前端
范同学~1 小时前
固定表头+第一列+最后一列
java·服务器·前端
日和雫1 小时前
封装、继承、多态 & 组合,为什么组合大于继承?
设计模式
zttbee2 小时前
npm install卡顿
前端·npm·node.js
Amos_Web2 小时前
Rspack 源码解析(二十七):AsyncWasmParserAndGenerator 如何把二进制变成异步模块
前端·rust
西红柿炖牛腩3542 小时前
机房电脑不能联网,怎么离线把课件里的 3D 模型压小?Draco / Meshopt 参数清单
前端·javascript·3d·性能优化·大屏端
爱喝水的小周2 小时前
实验十三 Vue 过渡与动画—电商后台消息中心实现
前端·javascript·vue.js
hunterandroid2 小时前
Navigation Component 工程落地:从单 Activity 架构到深度链接配置
android·前端
无责任此方_修行中2 小时前
如何不用括号调用 JS 的函数?
前端·javascript·node.js
kyriewen2 小时前
我数了 647 条大厂前端 JD:AI 不再只是加分项
前端·程序员·ai编程