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

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

原生 JS 封装一个动画插件。效果如下: ? 这个飞驰的小球看起来是不是特有灵性呢?没错,它就是用原生JS实现的。 接下来,就让我们深入细节,体会其中的奥秘。...但是实际上,作为一个插件的标准来讲,这段代码是存在一些潜在的问题的,这些问题并不是逻辑上的问题,而是设计问题。...JS 手写一下简单的发布-订阅,让我们原生撸到底 //subscribe.jsclass Subscribe { constructor() { //创建容器 this.pond...在这里我并不是简单讲讲效果的实现、贴贴代码就过去了,而是带你体验了封装插件的整个过程。有了发布-订阅的场景,理解这个设计思想就更加容易了。...在我看来,无论你是做哪个端的开发工作,其实大部分业务场景、大部分流行的框架技术都很可能会在若干年后随风而逝,但真正留下来的、伴随你一生的东西是编程思想。

3.1K20

原生JS实现组件式开发

自定义标签 自定义标签通过扩展一个HTMLElement或HTMLElement的子类来定义一个新的html标签,是通过原生js实现的组件化。...前面的自定义标签只是定义了自己的一些特别的通用方法,也能插入子元素,已经拥有了组件化的方法,但和复杂的组件相比是完全不够用的,它应该配合另一个特性Shadow DOM一起使用 Shadow DOM能封闭内部,让js.../index.js" type="module"> 复制代码 class RedH1 extends HTMLElement { text; constructor...defineCustomElement来创建一个自定义标签的构造函数,它接收defineComponent相同的参数,返回的类需要使用window.customElements.define来注册,因为是使用原生的方法注册...使用单文件时会打包更多的代码进去,如果只是使用简单的功能组件更推荐使用原生写法 使用场景 如果需要扩展从外部获取的html并添加比较复杂的功能,自定义标签就是个很好的选择,比如我的博客的文章通过markdown

3.5K52

Vue.js 插件开发详解

本文作者:IMWeb 林鑫 原文出处:IMWeb社区 未经同意,禁止转载 前言 随着 Vue.js 越来越火,Vue.js 的相关插件也在不断的被贡献出来,数不胜数。...比如官方推荐的 vue-router、vuex 等,都是非常优秀的插件。但是我们更多的人还只停留在使用的阶段,比较少自己开发。...所以接下来会通过一个简单的 vue-toast 插件,来了解掌握插件开发和使用。 认识插件 想要开发插件,先要认识一个插件是什么样子的。 Vue.js插件应当有一个公开方法 install 。...先新建个js文件来编写插件:toast.js // toast.js var Toast = {}; Toast.install = function (Vue, options) { Vue.prototype...既然 $msg 能获取到,那么我们就可以来实现我们的 vue-toast 插件了。 开发 vue-toast 需求:在组件中通过调用 this.

5.6K60

Vue.js 插件开发详解

前言 随着 Vue.js 越来越火,Vue.js 的相关插件也在不断的被贡献出来,数不胜数。比如官方推荐的 vue-router、vuex 等,都是非常优秀的插件。...但是我们更多的人还只停留在使用的阶段,比较少自己开发。所以接下来会通过一个简单的 vue-toast 插件,来了解掌握插件开发和使用。 认识插件 想要开发插件,先要认识一个插件是什么样子的。...Vue.js插件应当有一个公开方法 install 。...先新建个js文件来编写插件:toast.js // toast.js var Toast = {}; Toast.install = function (Vue, options) { Vue.prototype...既然 $msg 能获取到,那么我们就可以来实现我们的 vue-toast 插件了。 开发 vue-toast 需求:在组件中通过调用 this.

4.1K20

原生JS封装Ajax插件(同域&&jsonp跨域)

前言 抛出一个问题,其实所谓的熟悉原生JS,怎样的程度才是熟悉呢? 用原生Js封装了一个Ajax插件,引入一般的项目,传传数据,感觉挺可行的。。。...简单说说思路,有兴趣的可以自己跟着写一个,顺便熟悉一下原生的Ajax......Ajax核心,创建XHR对象 Ajax技术的核心是XMLHttpRequest对象(简称XHR),IE5是第一款引入XHR对象的浏览器,而IE5中的XHR对象是通过MSXML中的一个ActiveX对象实现的...主要原理是利用了script 标签可以跨域请求的特点,由其 src 属性发送请求到服务器,服务器返回 JS 代码,网页端接受响应,然后就直接执行了,这和通过 script 标签引用外部文件的原理是一样的...params.fail&¶ms.fail({message:"over time"}); window[cbName]=null; },params.time); } 插件详细解析及使用方法见

2.9K21

js书写原生ajax,JS 原生ajax写法

原生ajax 原文链接:http://caibaojian.com/ajax-jsonp.html 一.JS原生ajax ajax:一种请求数据的方式,不需要刷新整个页面: ajax的技术核心是 XMLHttpRe...… JS原生ajax与Jquery插件ajax深入学习 序言: 近来随着项目的上线实施,稍微有点空闲,闲暇之时偶然发现之前写的关于javascript原生xmlHttpRequest ajax方法以及后来...jquery插件ajax方法,于是就行了一些总结,因 … js原生Ajax的封装与使用 一.原生Ajax代码的封装如下: (function() { var XHR = { createStandardXHR...原生ajax 主要复习了php的pdo数据操作,和js的ajax,真麻烦,希望jquery的ajax简单点. index.php: 1 2 [代码]JS原生Ajax&comma...;GET和POST javascript/js的ajax的GET请求: Jquery学习笔记(10)–ajax删除用户,使用了js原生ajax 主要复习了php的pdo数据操作,和js的ajax,真麻烦

15.3K40

Node.js 原生模块开发方式变迁

前言 在 Node.js 开发领域中,原生 C++ 模块的开发一直是一个被人冷落的角落。但是实际上在必要的时候,用 C++ 进行 Node.js原生模块开发能有意想不到的好处。 性能提升。...很多情况下,使用 C++ 进行 Node.js 原生模块开发的性能会比纯 Node.js 开发要高,少数情况除外。 开发成本节约。...个别情况,开发者只能得到一个的静态连接或者动态链接以及一堆 C++ 头文件,其余都是黑盒的,这种情况就不得不使用 C++ 进行模块开发了。...,让大家都来尝试一下 Node.js 原生 C++ 模块的开发。...在早期的时候,Node.js 原生 C++ 模块开发方式是非常暴力的,直接使用其提供的原生模块开发头文件。 开发者直接深入到 Node.js 的各种 API,以及 Google V8 的 API。

1.2K30

使用 C# 开发 node.js 插件

项目需求 最近在开发一个 electron 程序,其中有用到和硬件通讯部分;硬件厂商给的是 .dll 链接做通讯桥接, 第一版本使用 C 写的 Node.js 扩展 ;由于有异步任务的关系,实现使用了...插件会显得有所束缚,木有那种随心所欲写 C 的那种“顺畅”;尤其是多线程部分 综上考虑,加上通讯功能又是调用 .dll 文件,索性转战 C#,对于 windows 来说再合适不过了;但是问题是 C#...插件实现的功能只是收到命令后调用 .dll 去操作硬件,再时时能把结果返回即可。...实现方式确实有很多种,这里用 Console.WriteLine() 通过标准的 stdio 方式实现,算不算是一个开发成本不高的讨巧做法呢!...大致流程 image.png 如果觉得这篇文章有难度,可以看简单版的哦 Node.js 利用 stdio 标准输入/输出实现与 C# 程序通讯 开发环境 C# 代码部分使用 Visual Studio

1.9K30

「译」如何用原生JS打造一款简易谷歌插件

JS—-不依靠任何诸如React、Angular或者Vue框架的原生JS做一款谷歌插件。...做一款谷歌插件并没有那么困难——在学习编程的第一年,我发布了两个插件,并且都是用HTML、CSS和原生JS做的。在这篇文章中,我会用几分钟的时间教你们怎么完成这件事。...一旦你设计好了新标签页,你的谷歌插件就创建完成了,随时可以上传至谷歌浏览器。手动上传,请在浏览器的地址栏输入chrome://extensions/,进入页面后在右上角启用开发者模式。...接着,选择存放HTML、CSS、JS、mainfest.json文件和icon.png的文件夹,上传。之后每次打开新标签页的时候该插件都会运行!...在创建了自己的插件并且通过测试之后,你便可以申请一个开发者账号并将该应用发布到谷歌拓展程序商店。这篇教程将指导你如何发布你的插件

1.5K50

好用的轮子之强大的原生引导js---Driver.js

前言 Driver.js 是一款轻量的、没有依赖普通的javascript引擎,目的是为了方便引导用户浏览网站的功能。其实是一款web端分步引导用户查看功能的。...支持你想要的效果 任何元素都可高亮:页面上的任何元素都可以高亮显示 支持所有的浏览器(包括IE) 遵循MIT Licensed开源协议 安装 // yarn 方式 yarn add driver.js...// npm 方式 npm install driver.js 引入 import Driver from 'driver.js'; import 'driver.js/dist/driver.min.css...配置 基本配置 const driver = new Driver({ className: 'scoped-class', // className to wrap driver.js...是一个非常好用的引导用户使用网站功能的js,可以更加人性化、更加方便快捷地融入到你开发的网站。

1.2K20
领券