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('这是一段控制台输出语句')")
相关推荐
Emily1568535987016 分钟前
Emerson 1C31129G03 Analog Input Module
java·开发语言·前端·plc·emerson·1c31129g03·input module
To_OC5 小时前
面试被问了三回三栏布局,这次我终于把 BFC 那层窗户纸捅破了
前端·css·面试
To_OC6 小时前
啃完 TS 工具类型我发现:Pick 和 Omit 原来就是一层窗户纸
前端·面试·typescript
风月说与山鬼7 小时前
三、大括号语法
前端·react.js
kyriewen7 小时前
我把最常踩的8个CORS跨域报错整理了一遍——第8个去年还不存在
前端·javascript
Csvn8 小时前
🕰️ 闭包 + setTimeout 的 5 个经典陷阱:为什么定时器看到的永远不是最新的值?
前端
lilian2338 小时前
Harmony os 技术实战|拼豆制图27:用单字符编码承载 50 张 70×70 图纸
前端·数据库·华为·harmonyos
CarIise9 小时前
CSS选择器与样式关联
前端·css·tensorflow
里欧跑得慢10 小时前
CSS 模块化架构的演进:BEM、CSS Modules 到 CSS-in-JS 的反思
前端·css·flutter·web·css-in-js