首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    基于发布-订阅的原生 JS 插件封装

    用原生 JS 封装一个动画插件。效果如下: ? 这个飞驰的小球看起来是不是特有灵性呢?没错,它就是用原生JS实现的。 接下来,就让我们深入细节,体会其中的奥秘。...一、需求分析 封装一个插件,将小球的 DOM 对象作为参数传入,使得小球在鼠标按下和放开后能够运动,在水平方向做匀减速直线运动,初速度为鼠标移开瞬间的速度,在竖直方向的运动类似于自由落体运动。...curT'].forEach(item => { this[item] = null; }); //为按下鼠标绑定事件,事件函数一定要绑定this,在封装过程中...在这里我并不是简单讲讲效果的实现、贴贴代码就过去了,而是带你体验了封装插件的整个过程。有了发布-订阅的场景,理解这个设计思想就更加容易了。...回过头看,比如 DOM2 的事件池机制,vue 的生命周期钩子等等,你就会明白它们为什么要这么设计,原理上和这次封装没有区别,这样一想,很多东西就更加清楚了。

    3.1K20

    Node.js+Mysql模块封装

    前言 最近在写毕设,采用的是学弟+自己的技术栈,运用Vue3+ElementPlus搞前端,Node.js express做后端,毕竟,java那东西确实不在我技术栈里。...于是乎,我抱着能CV就不要自己敲的心态,前去了某C站,C回了一个封装好了看上去存在可用性的基础sql模块,结果,踩了大坑。...正文 项目目录 只是单独把数据库模块拎出来了 ├─index.js ├─db | ├─db.js //封装的操作函数 | ├─dbconfig.js //数据库配置 | └sql.js //sql语句...sql.js 主要是存放一些操作表的sql语句,这里只是放了一个表,多个表也可以~ //单纯的栗子 let user = { insert: "INSERT INTO user(id, name.../dbconfig.js"); //注意改成自己项目中的路径 const sql = require(".

    1K40
    领券