前端小知识点扫盲笔记记录8 (2)

简介: 前端小知识点扫盲笔记记录8

复杂工厂模式

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title></title>
  </head>
  <body>
    <script>
      //第一步 定义自行车的构造函数 两个属性 一个name和一个方法method
      var BicycleShop = function (name) {
        this.name = name
        this.method = function () {
          return this.name
        }
      }
      BicycleShop.prototype = {
        constructor: BicycleShop,
        /*
         * 买自行车这个方法
         * @param {model} 自行车型号
         */
        sellBicycle: function (model) {
          var bicycle = this.createBicycle(model)
          // 执行A业务逻辑
          bicycle.A()
          // 执行B业务逻辑
          bicycle.B()
          return bicycle
        },
        createBicycle: function (model) {
          throw new Error(
            '父类是抽象类不能直接调用,需要子类重写该方法'
          )
        },
      }
      // 实现原型继承  Sub表示子类,Sup表示超类
      function extend(Sub, Sup) {
        // 首先定义一个空函数
        var F = function () {}
        // 设置空函数的原型为超类的原型
        F.prototype = Sup.prototype
        // 实例化空函数,并把超类原型引用传递给子类
        Sub.prototype = new F()
        // 重置子类原型的构造器为子类自身
        Sub.prototype.constructor = Sub
        // 在子类中保存超类的原型,避免子类与超类耦合
        Sub.sup = Sup.prototype
        if (
          Sup.prototype.constructor === Object.prototype.constructor
        ) {
          // 检测超类原型的构造器是否为原型自身
          Sup.prototype.constructor = Sup
        }
      }
      var BicycleChild = function (name) {
        this.name = name
        // 继承构造函数父类中的属性和方法
        BicycleShop.call(this, name)
      }
      // 子类继承父类原型方法
      extend(BicycleChild, BicycleShop)
      // BicycleChild 子类重写父类的方法
      BicycleChild.prototype.createBicycle = function () {
        var A = function () {
          console.log('执行A业务操作')
        }
        var B = function () {
          console.log('执行B业务操作')
        }
        return {
          A: A,
          B: B,
        }
      }
      var childClass = new BicycleChild('歌谣')
      console.log(childClass,"childClass")
            console.log(childClass.createBicycle())//a方法和b方法
            console.log(childClass.sellBicycle())//执行a b业务操作
    </script>
  </body>
</html>

如何写一个简单的回调函数

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>如何写一个简单的回调函数</title>
</head>
<body>
  <script>
//函数的参数为回调函数
function fangfang(callback) {
    var data = {
        "name": "fangyalan",
        "age": 18
    };
    callback(data);
}
//调用
fangfang(function (data) {
    //这里操作回调返回的数据
    console.log(data)
})
  </script>
</body>
</html>
相关文章
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
1333 14
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
603 0
|
Web App开发 前端开发 Linux
「offer来了」浅谈前端面试中开发环境常考知识点
该文章归纳了前端开发环境中常见的面试知识点,特别是围绕Git的使用进行了详细介绍,包括Git的基本概念、常用命令以及在团队协作中的最佳实践,同时还涉及了Chrome调试工具和Linux命令行的基础操作。
「offer来了」浅谈前端面试中开发环境常考知识点
|
SpringCloudAlibaba JavaScript 前端开发
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
分布式组件、nacos注册配置中心、openfegin远程调用、网关gateway、ES6脚本语言规范、vue、elementUI
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
|
人工智能 自然语言处理 运维
前端大模型应用笔记(一):两个指令反过来说大模型就理解不了啦?或许该让第三者插足啦 -通过引入中间LLM预处理用户输入以提高多任务处理能力
本文探讨了在多任务处理场景下,自然语言指令解析的困境及解决方案。通过增加一个LLM解析层,将复杂的指令拆解为多个明确的步骤,明确操作类型与对象识别,处理任务依赖关系,并将自然语言转化为具体的工具命令,从而提高指令解析的准确性和执行效率。
645 6
|
机器学习/深度学习 弹性计算 自然语言处理
前端大模型应用笔记(二):最新llama3.2小参数版本1B的古董机测试 - 支持128K上下文,表现优异,和移动端更配
llama3.1支持128K上下文,6万字+输入,适用于多种场景。模型能力超出预期,但处理中文时需加中英翻译。测试显示,其英文支持较好,中文则需改进。llama3.2 1B参数量小,适合移动端和资源受限环境,可在阿里云2vCPU和4G ECS上运行。
947 1
|
前端开发 算法 测试技术
前端大模型应用笔记(五):大模型基础能力大比拼-计数篇-通义千文 vs 文心一言 vs 智谱 vs 讯飞vsGPT
本文对比测试了通义千文、文心一言、智谱和讯飞等多个国产大模型在处理基础计数问题上的表现,特别是通过链式推理(COT)提示的效果。结果显示,GPTo1-mini、文心一言3.5和讯飞4.0Ultra在首轮测试中表现优秀,而其他模型在COT提示后也能显著提升正确率,唯有讯飞4.0-Lite表现不佳。测试强调了COT在提升模型逻辑推理能力中的重要性,并指出免费版本中智谱GLM较为可靠。
859 0
前端大模型应用笔记(五):大模型基础能力大比拼-计数篇-通义千文 vs 文心一言 vs 智谱 vs 讯飞vsGPT
|
前端开发 JavaScript 数据库
如何实现前后端分离-----前端笔记
如何实现前后端分离-----前端笔记
|
JSON 前端开发 JavaScript
前端Ajax、Axios和Fetch的用法和区别笔记
前端Ajax、Axios和Fetch的用法和区别笔记
475 2

热门文章

最新文章