jQuery中extend函数详解


Posted in Javascript onJuly 13, 2015

1.$.extend({},defaults, options)

这样做的目的是为了保护包默认参数。也就是defaults里面的参数。

做法是将一个新的空对象({})做为$.extend的第一个参数,defaults和用户传递的参数对象紧随其后,这样做的好处是所有值被合并到这个空对象上,保护了插件里面的默认值。

$.fn.myPlugin = function(options) {
  var defaults = {
    'color': 'red',
    'fontSize': '12px'
  };
  var settings = $.extend({},defaults, options);//将一个空对象做为第一个参数
  return this.css({
    'color': settings.color,
    'fontSize': settings.fontSize
  });
}

2.代码混淆与压缩

你下载的插件里面,一般都会提供一个压缩的版本一般在文件名里带个'min'字样。也就是minified的意思,压缩浓缩后的版本

这里的压缩不是指代码进行功能上的压缩,而是通过将代码里面的变量名,方法函数名等等用更短的名称来替换,并且删除注释(如果有的话)删除代码间的空白及换行所得到的浓缩版本。同时由于代码里面的各种名称都已经被替代,别人无法阅读和分清其逻辑,也起到了混淆代码的作用。

压缩的好处:1.代码量变少,加快加载速度,提高性能

2.防止别人盗用代码

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
用JS实现一个TreeMenu效果分享
Aug 28 Javascript
纯文字版返回顶端的js代码
Aug 01 Javascript
js 对小数加法精度处理示例说明
Dec 27 Javascript
javascript读写json示例
Apr 11 Javascript
解释&&和||在javascript中的另类用法
Jul 28 Javascript
JavaScript判断浏览器类型的方法
Feb 10 Javascript
bootstrap datetimepicker日期插件使用方法
Jan 13 Javascript
Bootstrap中glyphicons-halflings-regular.woff字体报404错notfound的解决方法
Jan 19 Javascript
jQuery实现base64前台加密解密功能详解
Aug 29 jQuery
详解vue2.6插槽更新v-slot用法总结
Mar 09 Javascript
详解Vue 的异常处理机制
Nov 30 Vue.js
jquery自定义组件实例详解
Dec 31 jQuery
浅谈javascript原型链与继承
Jul 13 #Javascript
jQuery实现自定义checkbox和radio样式
Jul 13 #Javascript
javascript作用域问题实例分析
Jul 13 #Javascript
javascript中使用正则表达式清理table样式的代码
Apr 01 #Javascript
jquery实现图片上传之前预览的方法
Jul 11 #Javascript
JavaScript使用RegExp进行正则匹配的方法
Jul 11 #Javascript
javascript中JSON对象与JSON字符串相互转换实例
Jul 11 #Javascript
You might like
php中使用Akismet防止垃圾评论的代码
2011/06/10 PHP
PHP单例模式详解及实例代码
2016/12/21 PHP
解决laravel中日志权限莫名变成了root的问题
2019/10/17 PHP
javascript 中对象的继承〔转贴〕
2007/01/22 Javascript
jQuery教程 $()包装函数来实现数组元素分页效果
2013/08/13 Javascript
Jquery实现由下向上展开效果的例子
2014/12/08 Javascript
jQuery取消ajax请求的方法
2015/06/09 Javascript
jQuery继承extend用法详解
2016/10/10 Javascript
webuploader模态框ueditor显示问题解决方法
2016/12/27 Javascript
解决option标签selected="selected"属性失效的问题
2017/11/06 Javascript
JavaScript设计模式之构造函数模式实例教程
2018/07/02 Javascript
JS学习笔记之数组去重实现方法小结
2019/05/29 Javascript
[48:12]Secret vs Optic Supermajor 胜者组 BO3 第三场 6.4
2018/06/05 DOTA
[10:21]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster 选手采访
2021/03/11 DOTA
Python中将dataframe转换为字典的实例
2018/04/13 Python
使用python获取电脑的磁盘信息方法
2018/11/01 Python
Python爬虫实战之12306抢票开源
2019/01/24 Python
python批量下载抖音视频
2019/06/17 Python
pycharm中显示CSS提示的知识点总结
2019/07/29 Python
Python 安装 virturalenv 虚拟环境的教程详解
2020/02/21 Python
Python参数传递实现过程及原理详解
2020/05/14 Python
Python全局变量与global关键字常见错误解决方案
2020/10/05 Python
详解background属性的8个属性值(面试题)
2020/11/02 HTML / CSS
Interflora澳大利亚:同日鲜花速递
2019/06/25 全球购物
维德科技C#面试题笔试题
2015/12/09 面试题
采购员岗位职责
2013/11/15 职场文书
自荐书模板
2013/12/15 职场文书
寒假思想汇报
2014/01/10 职场文书
结婚喜宴主持词
2014/03/14 职场文书
竞聘自述材料
2014/08/25 职场文书
小学红领巾广播稿(3篇)
2014/09/13 职场文书
委托公证书样本
2015/01/23 职场文书
遗愿清单观后感
2015/06/09 职场文书
Python 的 sum() Pythonic 的求和方法详细
2021/10/16 Python
深入浅出的讲解:信号调制到底是如何实现的
2022/02/18 无线电
python热力图实现的完整实例
2022/06/25 Python