首页
学习
活动
专区
圈层
工具
发布

js写插件教程

;我为了方便都写到一个html中了;请把这个script标签中的内容单独写在一个js文件里 //整个插件写在一个立即执行函数里;就是function(){}();函数自执行;保证里面的变量不会与外界互相影响...号(叹号)或者;(分号)这不是写错了,为了防止那个二货写的js结束没有分号;而可能发生报错 /* ;function(win,doc,$,undefined){ }(window...document,jQuery) 或者写在一个闭包里(function(){           }()) */ (function(win,doc,undefined){ //我们随便写一个插件吧...addHtml.prototype = {//给函数写方法;这里可能不止一个函数;你还记得你在全局里写一个个的function吗;贼乱; //找也不好找;把一个个函数都写到对象的属性里;...--这里是最简单的插件写法;当然还有传对象参数的插件等等。。。。-->

42.2K10

js写插件教程深入

原文地址:https://github.com/lianxiaozhuang/blog 转载请注明出处 js 写插件教程深入 1.介绍具有安全作用域的构造函数 function Fn(name...constructor:Fn, getF:function(){ console.log(1); } } new Fn(); //new 出来的Fn就是一个构造函数 //倘若有人忘记写new...Fn.prototype = { constructor:Fn, getF:function(){ console.log(1); } } 2.默认参数 //我们用过一些插件...,如果方法和实例本身有关,应该写道this中 4.方法名防止冲突处理 //如果在引入你的插件之前,window下已经有Fn的变量;怎么办,你如果这么搞; 岂不是把别人写的Fn搞掉了 //此时应该把...typeof define === 'function') define(function() { return MyPlugin; }); //注册全局变量,兼容直接使用script标签引入该插件

17.5K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    用原生 JS 封装一个动画插件。效果如下: ? 这个飞驰的小球看起来是不是特有灵性呢?没错,它就是用原生JS实现的。 接下来,就让我们深入细节,体会其中的奥秘。...首先,你怎么拿到松开手瞬间的小球移动速度?如何去表达出这个加速度的效果? 在实现方面,这是非常重要的问题。不过,其实非常的简单。...JS 手写一下简单的发布-订阅,让我们原生撸到底 //subscribe.jsclass Subscribe { constructor() { //创建容器 this.pond...JS 小技巧: //直接写box跟document.getElementById('box')是一样的效果 let drag = new Drag(box); extendDrag(drag...在我的理解中,编程的意义远不止造轮子,写插件,来显得自己金玉其外,而是留心思考,提炼出一些思考问题的方式,从而在某个确定的时间点让你拥有极其敏锐的判断,来指导和优化你下一步的决策,而不是纵身于飞速迭代的技术浪潮

    3.9K20

    原生 JS 实现一个瀑布流插件

    使用发布-订阅模式和继承实现监听绑定 既然以开发插件为目标,不能仅仅满足于功能的实现,还要留出相应的操作空间给开发者自行处理。...waterfall.on("load", function () { // 此处进行 ajax 同步/异步添加图片 }) 观察调用方式,不难联想到使用发布/订阅模式来实现它,关于发布/订阅模式,之前在 Node.js...Waterfall.prototype.constructor = Waterfall 继承方式的写法吸收了基于构造函数继承和基于原型链继承两种写法的优点,以及使用 Object.create 隔离了子类和父类,关于继承更多方面的细节,可以另写一篇文章了...new Waterfall({}) waterfall.on("load", function () { // 异步/同步加载图片 waterfall.done() }) 项目地址 项目地址 此插件在

    3.2K40

    用原生js写一个多动症的简历

    用原生js写一个"多动症"的简历 预览地址 源码地址 最近在知乎上看到@方应杭用vue写了一个会动的简历,觉得挺好玩的,研究一下其实现思路,决定试试用原生js来实现。...没错,做到这一步就完成了原理的第一部分 再想象一下,在往页面里面塞啊的时候,我还想改变啊字的字体颜色以及网页背景颜色,那应该怎么做呢,是不是执行下面的代码就可以呢,没错,只不过更改字体和背景色不是突然改变的...color: blue; background: red; } 项目搭建 在这个项目中我们 使用webpack2来完成项目的构建 使用yarn来处理依赖包的管理 使用es6的写法 使用部分原生...dom操作api standard.js(代码风格约束利器) 目录结构如下 最重要的几个模块分别是resumeEditor(简历编辑模块) 、 stylesEditor(简历样式编辑模块) 、 以及vQuery...(封装的dom操作模块) 最后app.js(入口模块)再将几个模块的功能结合起来完成整个项目。

    7.9K70

    用原生js写一个多动症的简历

    用原生js写一个"多动症"的简历 预览地址 源码地址 最近在知乎上看到@方应杭用vue写了一个会动的简历,觉得挺好玩的,研究一下其实现思路,决定试试用原生js来实现。...没错,做到这一步就完成了原理的第一部分 再想象一下,在往页面里面塞啊的时候,我还想改变啊字的字体颜色以及网页背景颜色,那应该怎么做呢,是不是执行下面的代码就可以呢,没错,只不过更改字体和背景色不是突然改变的...color: blue; background: red; } 项目搭建 在这个项目中我们 使用webpack2来完成项目的构建 使用yarn来处理依赖包的管理 使用es6的写法 使用部分原生...dom操作api standard.js(代码风格约束利器) 最重要的几个模块分别是resumeEditor(简历编辑模块) 、 stylesEditor(简历样式编辑模块) 、 以及vQuery(...封装的dom操作模块) 最后app.js(入口模块)再将几个模块的功能结合起来完成整个项目。

    6.2K20

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

    前言 抛出一个问题,其实所谓的熟悉原生JS,怎样的程度才是熟悉呢? 用原生Js封装了一个Ajax插件,引入一般的项目,传传数据,感觉挺可行的。。。...简单说说思路,有兴趣的可以自己跟着写一个,顺便熟悉一下原生的Ajax......一个域名的组成: http:// www abc.com: 8080 / scripts/AjaxPlugin.js 协议 子域名 主域名 端口号 请求资源地址 当协议、子域名、主域名、端口号中任意一个不相同时...主要原理是利用了script 标签可以跨域请求的特点,由其 src 属性发送请求到服务器,服务器返回 JS 代码,网页端接受响应,然后就直接执行了,这和通过 script 标签引用外部文件的原理是一样的...params.fail&¶ms.fail({message:"over time"}); window[cbName]=null; },params.time); } 插件详细解析及使用方法见

    4.3K21

    实战 | 用原生js写一个多动症的简历

    没错,做到这一步就完成了原理的第一部分 再想象一下,在往页面里面塞啊的时候,我还想改变啊字的字体颜色以及网页背景颜色,那应该怎么做呢,是不是执行下面的代码就可以呢,没错,只不过更改字体和背景色不是突然改变的...这样就完成了原理的第二步,是不是好简单 , 接下来让我们一步步完成它 项目搭建 在这个项目中我们 1、使用webpack2来完成项目的构建 2、使用yarn来处理依赖包的管理 3、使用es6的写法 4、使用部分原生...dom操作api 5、standard.js(代码风格约束利器) 目录结构如下 最重要的几个模块分别是resumeEditor(简历编辑模块) 、 stylesEditor(简历样式编辑模块) 、 以及...vQuery(封装的dom操作模块) 最后app.js(入口模块)再将几个模块的功能结合起来完成整个项目。

    4.9K10

    自己写插件控制 Webpack 的 Chunk 划分,想怎么分就怎么分

    今天我们就一起来写一个划分 Chunk 的 webpack 插件吧,写完后你会发现想怎么分 Chunk 都可以!...有的同学说,我平时也不用自己写插件来拆分 chunk 呀,webpack 不是提供了 SplitChunksPlugin 的插件么,还变成内置的了,配置下 optimization.splitChunks...没错,webpack 默认提供了拆分 chunk 的插件。 那这个插件是怎么实现的呢?...我们就可以写插件自己拆分了,会自己拆分 chunk 之后,还不是想怎么分就怎么分么!...webpack 内置了 SplitChunksPlugin,但是毕竟有局限性,当不满足需求的时候就可以自己写插件来划分 chunk 了。 自己来控制 Chunk 划分,想怎么分就怎么分!

    1.1K20

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

    How to Build a Simple Chrome Extension in Vanilla JavaScript 原文作者:Sara Wegman 译者:Chor 今天,我打算向你们展示如何用原生...JS—-不依靠任何诸如React、Angular或者Vue框架的原生JS做一款谷歌插件。...做一款谷歌插件并没有那么困难——在学习编程的第一年,我发布了两个插件,并且都是用HTML、CSS和原生JS做的。在这篇文章中,我会用几分钟的时间教你们怎么完成这件事。...不过,如果你想知道我怎么创建这个简易面板的话,请跳至“创建一个设置菜单”部分。 一旦你设计好了新标签页,你的谷歌插件就创建完成了,随时可以上传至谷歌浏览器。...接着,选择存放HTML、CSS、JS、mainfest.json文件和icon.png的文件夹,上传。之后每次打开新标签页的时候该插件都会运行!

    2.3K50

    写jquery插件(转载)

    今天我们来讨论下jquery的插件机制,jquery有着成千上万的第三方插件,有时我们写好了一个独立的功能,也想将其与jquery结合起来,可以用jquery链式调用,这就要扩展jquery,写成插件形式了...其次, js"预编译"的特点:     js在"预编译"阶段, 会解释函数声明, 但却会忽略表式.             (3)....当js执行到function() {//code}();时, 由于function() {//code}在"预编译"阶段已经被解释过, js会跳过function(){//code}, 试图去执行();..., 故会报错;          当js执行到(function {// code})();时, 由于(function {// code})是表达式, js会去对它求解得到返回值, 由于返回值是一 个函数...例如 我们插件里面需要有个方法 来检测用户调用插件时传入的参数是否符合规范。 6.其他的一些设置,如:为你的插件加入元数据插件的支持将使其变得更强大。

    2.8K30
    领券