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

教你开发jQuery插件(转) 教你开发jQuery插件(转)

还是老问题,不方便维护,也不够清晰。当然,这些问题在代码规模较小时是体现不出来的。...以后我可能会介绍我编写的一个jQuery插件SlipHover,其中代码就比较多,这样的模式就用得上了。 所以我们新建一个对象命名为Beautifier,然后我们在插件里使用这个对象来编码。...插件的调用还是一样的,我们对代码的改动并不影响插件其他地方,只是将代码的组织结构改动了而以。...到这里,你可以更好地编写复杂的插件同时很好地组织代码了。当我们回头去看上面的代码时,其实也还是有改进空间的。也就是下面介绍的关于命名空间及变量各什么的,一些杂项。...当然不能,所以顺带还起到了代码保护的作用。当然只是针对你编写了一些比较酷的代码又不想别人抄袭的情况。

4.8K10

前沿 | 2017年前端开发工具趋势

你会用 Sass 和 Autoprefixer 等高级的CSS辅助技能吗?你的 JavaScript 知识是否融汇贯通,你是否喜欢使用 Gulp , npm 和 jQuery ?...但是,调研结果是否代表真相还是应该抱审慎态度。。。 全球性的统计结果 这次问卷调查是全球性的,但将主要来自英语国家。 在其他地方开发或使用的流行工具可能被忽略。...开发人员知识 本次问卷调查呼吁经验丰富的开发人员对调研问题有深刻理解并且有时间,有兴趣去完成本次调查。...我很惊讶,“其他”模块打包工具占不到 4%,当有几个任务运行器插件可以更简单的管理依赖关系,例如 gulp-deporder 。...诸如测试驱动开发(TDD)等技术可以捕获逻辑问题,但不能解决异步事件遇到的问题,例如当 UI 在特定浏览器中执行某种意外操作时。

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

    2017年前端开发工具趋势

    你有两年以上的前端开发经验吗?你会用 Sass 和 Autoprefixer 等高级的CSS辅助技能吗?...但是,调研结果是否代表真相还是应该抱审慎态度。。。 全球性的统计结果 这次问卷调查是全球性的,但将主要来自英语国家。 在其他地方开发或使用的流行工具可能被忽略。...我很惊讶,“其他”模块打包工具占不到 4%,当有几个任务运行器插件可以更简单的管理依赖关系,例如 gulp-deporder 。...如果你确实需要支持 IE11 及以下版本,编写 ES5 代码不是更容易吗?...诸如测试驱动开发(TDD)等技术可以捕获逻辑问题,但不能解决异步事件遇到的问题,例如当 UI 在特定浏览器中执行某种意外操作时。

    1K70

    第8章 JavaScript编程应用

    ,与操作环境无关 安全性:JavaScript是一种安全性语言,它不允许访问本地的硬盘,并不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。...statement:用来指定循环体,在循环条件的结果为true时,重复执行。 吐槽:这个问题过于简单,意义不大,每门编程语言都会涉及,太基础,不过还是把书中的一些东西记录下来,真的?...这需要设置个问题吗?而且,也不应该整在这里介绍此语法,水了水了。 8-4 jQuery框架是什么?它有什么作用?...jQuery是一个轻量级的JavaScript框架,它提供一种渐变的JavaScript设计模式,可优化HTML5文档操作,改变用户编写JavaScript代码的方式。...变量名区分大小写,允许包含字母、数字、美元符号($)和下划线,但第一个字符不允许是数字,不允许包含空格和其他标点符号 变量命名长度应该尽可能的短,并抓住要点,尽量在变量名中体现出值的类型 尽量避免使用没有意义的命名

    75610

    AJAX常见面试问题

    大家好,又见面了,我是你们的朋友全栈君 1.工作当中会和后台交互吗? 那你能说说封装好的 ajax里的几个参数吗 ? url: 发送请求的地址。...jQuery UI是jQuery插件,只不过专指由jQuery官方维护的UI方向的插件。 10.你工作当中用过那些库?...13.有一个输入框,只允许输入数字或字母,如果输入不合法则将输入框的边框变为红色,写代码 var reg =/^[a-zA-Z0-9]+$/; if(!...例如,我给你一个URL地址,如果采用了Ajax技术,也许你在该URL地址下面看到的和我在这个URL地址下看到的内容是不同的。这个和资源定位的初衷是相背离的。 .AJAX不能很好支持移动设备。...,第一个必须是字母,最后一个必须是数字。

    3K20

    2017年前端开发工具趋势

    你有两年以上的前端开发经验吗?你会用 Sass 和 Autoprefixer 等高级的CSS辅助技能吗?...但是,调研结果是否代表真相还是应该抱审慎态度。。。 全球性的统计结果 这次问卷调查是全球性的,但将主要来自英语国家。 在其他地方开发或使用的流行工具可能被忽略。...我很惊讶,“其他”模块打包工具占不到 4%,当有几个任务运行器插件可以更简单的管理依赖关系,例如gulp-deporder 。...如果你确实需要支持 IE11 及以下版本,编写 ES5 代码不是更容易吗?...诸如测试驱动开发(TDD)等技术可以捕获逻辑问题,但不能解决异步事件遇到的问题,例如当 UI 在特定浏览器中执行某种意外操作时。

    1.3K60

    代码审查完整指南来了!

    不管代码有多好,不管它写得有多好,如果它不能实现它的目标,它就是无用的。代码不是为代码而写的。编写代码是为了添加新功能,开发和推动产品向前发展。...所有这些都可以概括为这个问题——它能解决问题吗?实现接下来,开始关注数字、指标和报告。从不同角度分析代码。安全性。它带来了漏洞还是解决了漏洞?在受到攻击时它会有多稳定?被动还是主动?...这可以简化调试和故障排除过程,也可以使其变得更加复杂。例如,记录集成的第三方服务的响应时间有助于识别停机时间。日志和跟踪是否足够?多还是少?仔细研究并回答这些问题,就能确定实施工具的正确选择。...为防止代码重复,如果多个模块的逻辑是共通的,就可将其移至助手、实用程序等共享位置。值得关注的问题:代码的某些部分能否在其他地方重复使用?如果不能,其独特性是否合理?...代码不应该重新发明轮子。在社区中已经有许多被认可的最佳实践和定义好的设计模式,它们是软件工程中常见问题的解决方案。值得关注的问题:代码是否采用了最佳实践和模式?是否以正确的方式使用?印象。

    53910

    jQuery使用经验建议

    在开发过很多 jQuery 插件以后,我慢慢的摸索出了一套开发jQuery插件比较标准的结构和模式。这样我就可以复制并粘贴大部分的代码结构,只要专注最主要的逻辑代码就行了。 ...使用相同的设计模式和架构也让修复bug或者二次开发更容易。一套经过验证的架构可以保证我的插件不出大的问题,不论插件简单还是复杂。我在这里分享10条我总结的经验。 1....把你的代码全部放在闭包里面 这是我用的最多的一条。但是有时候在闭包外面的方法会不能调用。不过你的插件的代码只为你自己的插件服务,所以不存在这个问题,你可以把所有的代码都放在闭包里面。...使用返回一个元素 JavaScript/jQuery有一个很好的特点就是可以进行方法级联,所以我们不应该破坏这个特性,始终在方法中返回一个元素。我在我的每一个jQuery插件中都遵守这一条。...有一套基本的代码可以极大的缩短你的开发时间,并且能够让你设计插件架构的时候更自信。

    1.4K40

    【经验】编写优秀jQuery插件的10个技巧

    把你的代码全部放在闭包里面 这是我用的最多的一条。但是有时候在闭包外面的方法会不能调用。 不过你的插件的代码只为你自己的插件服务,所以不存在这个问题,你可以把所有的代码都放在闭包里面。...使用返回一个元素 JavaScript/jQuery有一个很好的特点就是可以进行方法级联,所以我们不应该破坏这个特性,始终在方法中返回一个元素。我在我的每一个jQuery插件中都遵守这一条。...为什么要设置 Class Prototyping 作为你代码的血与肉,方法和函数应该放在prototype函数内。有两个原因: 它可以节省很多内存,因为可以不用重复创建这些方法。...或者“别人来写这个方法有多困难?”。当然这是一个灵活性拿捏的问题。...我的座右铭:不能领跑也绝不放弃!

    70720

    Python破解验证码,只要15分钟就够了!

    我去wordpress.org插件注册表搜索“验证码”。最靠前的结果是一个叫“真正简单的验证码”的插件,有超过100万个活跃安装: 并且最好的一点是,它开源!...我们可以看到,它从不在代码中使用“O”或“I”,以避免用户混淆。这给了我们总共32个可能需要识别的字母和数字。没问题! 到目前为止时间过去:2分钟。...而且我们不能将图像分成四个相同大小的块,因为验证码会将这些字母随机放置在不同的水平位置: 每个图像中的字母随机放置,使分割图像更难一些。 幸运的是,我们仍然可以自动执行此操作。...我们需要解决这个问题,以免我们不小心让机器把这两个相连的字母识别为一个字母。 我们将把任何宽度比高度还长的区域对半分开,并把它当作两个字母。这是很粗暴,但这么处理对识别这些验证码依然行得通。...创建和训练神经网络 由于我们只需要识别单个字母和数字的图像,我们不需要一个非常复杂的神经网络架构。识别字母比识别诸如猫和狗的图片这样的复杂图像要容易得多。

    1.7K60

    Python那些事——15分钟用Python破解验证码系统!

    我去wordpress.org插件注册表搜索“验证码”。最靠前的结果是一个叫“真正简单的验证码”的插件,有超过100万个活跃安装: 并且最好的一点是,它开源!...我们可以看到,它从不在代码中使用“O”或“I”,以避免用户混淆。这给了我们总共32个可能需要识别的字母和数字。没问题! 到目前为止时间过去:2分钟。...简化问题 现在我们有了训练数据,我们可以直接用它来训练神经网络: 有足够的训练数据,这种粗暴的方法甚至也行得通 - 但我们可以使问题更容易解决。问题越简单,训练数据越少,计算资源消耗就越少。...而且我们不能将图像分成四个相同大小的块,因为验证码会将这些字母随机放置在不同的水平位置: 每个图像中的字母随机放置,使分割图像更难一些。 幸运的是,我们仍然可以自动执行此操作。...创建和训练神经网络 由于我们只需要识别单个字母和数字的图像,我们不需要一个非常复杂的神经网络架构。识别字母比识别诸如猫和狗的图片这样的复杂图像要容易得多。

    1.4K101

    技术分享 | 【工程化】越抽象,越通用

    C平台,作为尽职尽责的程序员,我们总不能让用户自适应吧,但是那个老六外包公司,做完之后没给源码,导致该动起来基本没办法,只能推倒重做了,抓包发现前后端交换的数据结构已经写死,没有办法通过前端更改数据结构的方式来改变整个应用的主要问题...我可不可以让某个字换颜色显示? content和text一定是纯文本吗?可以不可以添加多媒体?甚至往里面加入其他页面iframe? uid只能是纯数字吗?有些平台没有uid怎么办?...这些问题,是在项目初期就得要考虑到的,要结合项目的过去,现在和未来考虑,因为前后端交换数据是更抽象的问题,前端页面你可以一个人改,后端如果不是你负责,万一哪天想要改动数据结构,让你的几十个同事半夜加班动服务器...学会留空间 我的这个用了4年的ppt,顶部和背景从未变过,变的只有内容 可以想象成一堆抽象的元素,除了顶部和背景是写死的,其他地方是抽象的,因为我不知道未来会有什么,可以自由发挥,自由定制。...再比如Antd,tdesign,jQuery,bootstrap,moment,lodash等等无论是ui库还是函数库,他们都有共同的特点,那就是可以随意定制,Modal模态框组件,弹出来的窗口不一定只能是文字

    936242

    前端开发技术(vscode怎么下载)

    大家好,又见面了,我是你们的朋友全栈君。 前言    在前端开发中,有一个非常好用的工具,Visual Studio Code,简称VS code。    ...都不用我安利VS code,大家就会乖乖的去用,无数个大言不惭的攻城狮,都被VS code比德芙还丝滑的强大功能所折服。    我是来给大家安利插件的,想做个比较全面的插件集合给大家。...Code Spell Checker 代码拼写检查器,一个与camelCase代码配合良好的基本拼写检查程序。此拼写检查程序的目标是帮助捕获常见的拼写错误,同时保持误报数量较低。...Todo Tree 此扩展可以快速搜索(使用ripgrep)您的工作区以获取TODO和FIXME等注释标记,并在资源管理器窗格的树视图中显示它们。...jQuery Code Snippets JQuery代码提示,超过130个用于JavaScript代码的jQuery代码片段。 只需键入字母’jq’即可获得所有可用jQuery代码片段的列表。

    3.3K20

    Visual Studio Code(CS code)你们都在用吗?或许你们需要看一下这篇博文

    写在前面 在前端开发中,有一个非常好用的工具,Visual Studio Code,简称VS code。    ...都不用我安利VS code,大家就会乖乖的去用,无数个大言不惭的攻城狮,都被VS code比德芙还丝滑的强大功能所折服。    我是来给大家安利插件的,想做个比较全面的插件集合给大家。...22.Todo Tree 此扩展可以快速搜索(使用ripgrep)您的工作区以获取TODO和FIXME等注释标记,并在资源管理器窗格的树视图中显示它们。...3.jQuery Code Snippets  jQuery代码提示 超过130个用于JavaScript代码的jQuery代码片段。...只需键入字母'jq'即可获得所有可用jQuery代码片段的列表。 ? 4.HTMLHint html代码检测,支持html5 ? d.语言相关 1.C# 适用于.NET Core的轻量级开发工具。

    3.8K20

    计算机萌新的成长历程——初识C语言8

    那问题来了,这个字符是被什么东西给改变含义的呢?我们接着往下看。 还记得上一篇有提到的‘\0’吗?...这里就有点意思了,这里我查找了从int到char截断这个问题的解决方案,我发现别人有提到一个问题,有些字符看起来是一个字符,其实他是字符串,无法赋值给char 然后我们再来看第9行的错误提示:应输入“;...,不是说ASCII码值是来将数字、字母、字符(符号)用2进制数值表示的标准吗?...对于这个问题,我的个人理解是,计算机是不能识别这里数字、字母、字符(符号)的,它能识别的内容只有2进制,但是这些数字、字母、字符(符号)都不是二进制呀,所以为了表示这些字符,咱们的前辈们就给这些数字、字母...并不是所有的字符都能被转义) 2.ASCII码值是一套通过将数字、字母、符号用十进制数值(0~127)进行编号,然后计算机将其转变成二进制数值来将其表示的标准; 3.八进制和十六进制转化成十进制的方式就是

    43030

    jquery插件与扩展

    但这里还有个问题是如果我这个函数要接收参数应该怎么写呢? 让插件接收参数 一个强劲的插件是可以让使用者随意定制的,这要求我们提供在编写插件时就要考虑得全面些,尽量提供合适的参数。...若要编写一个复杂的插件,代码量会很大,如何组织代码就成了一个需要面临的问题,没有一个好的方式来组织这些代码,整体感觉会杂乱无章,同时也不好维护,所以将插件的所有方法属性包装到一个对象上,用面向对象的思维来进行开发...还是老问题,不方便维护,也不够清晰。 所以我们新建一个对象命名为Beautifier,然后我们在插件里使用这个对象来编码。...(this, options); //调用其方法 return beautifier.beautify(); } 调用还是一样的,我们对代码的改动并不影响插件其他地方,只是将代码的组织结构改动了而以...当我们回头去看上面的代码时,其实也还是有改进空间的。 关于命名空间 不仅仅是jQuery插件的开发,我们在写任何JS代码时都应该注意的一点是不要污染全局命名空间。

    3.2K30

    【翻译】JavaScript内存泄露

    内存泄露 内存泄露指的是浏览器因为种种原因没有回收无用对象占用的内存。 内存泄露的原因可能是浏览器的bug,或者浏览器扩展插件的问题,但是更多的时候,是因为我们代码结构的不严谨。...IE8以下浏览器的DOM-JS内存泄露 IE8版本以前的浏览器不能够回收DOM对象和JavaScript之间的循环引用。 IE6的SP3版本问题更严重,甚至网页关闭以后仍然不能回收内存。...我希望最新的解释器可以针对这个问题进行优化,但难以预料它是否能够办到 事实上,这样的机制也是有好处的,很多情况下并不算是内层泄露。...但是这样做有一个严重的副作用:被设置data属性的元素不能通过原生代码删除。...检查jQuery的内存泄露非常简单,查看$.cache可以很方便的找出问题的引发原因。 jQuery的问题讨论到此为止。 找出并修复问题 找出问题 内存泄露的方式有很多,浏览器也不断有新的bug出现。

    2.6K60

    以计算器为例介绍input操作焦点功能,兼容IE版本

    前端操作input 的焦点功能 经常会用到,你会用到以下功能吗? 选中input框中的某几个字母,监听该事件,获取选中的字母内容。 input的焦点向左移动一个,就像封面图一样,在括号中输入内容。...2) 拼接 input 旧值和 按钮新值 3) 设置 input 新的焦点位置,即老位置+按钮值长度 + 按钮功能需要变动的长度 4) 解决IE下点击按钮时,input焦点永远为0的行为。...(图为点击按钮时的代码) 以下内容基于jQuery-1.7实现 解决问题: 1) 知识点 selectionStart, IE8及以下不支持该属性,使用document.selection 替代方案解决...绝对值函数此处用的是|()|,点击后需要向前移动两位。 故在这类函数的div上增加属性 cursor-position, 值是-1, -2等数字。 4)设置新的坐标位置。...知识点:createTextRange、setSelectionRange 该方法是扩展的 jQuery插件方式定义函数。

    2.2K10
    领券