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 相关文章推荐
document.documentElement && document.documentElement.scrollTop
Dec 01 Javascript
用Javascript 获取页面元素的位置的代码
Sep 25 Javascript
jQuery 类twitter的文本字数限制带提示效果插件
Apr 16 Javascript
基于jquery的商品展示放大镜
Aug 07 Javascript
javascript与cookie 的问题详解
Nov 11 Javascript
js charAt的使用示例
Feb 18 Javascript
在JS数组特定索引处指定位置插入元素的技巧
Aug 24 Javascript
深入理解 webpack 文件打包机制(小结)
Jan 08 Javascript
vue.js根据代码运行环境选择baseurl的方法
Feb 28 Javascript
vue实现Input输入框模糊查询方法
Jan 29 Javascript
详解Webpack抽离第三方类库以及common解决方案
Mar 30 Javascript
vue打开子组件弹窗都刷新功能的实现
Sep 21 Javascript
浅谈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 mb_convert_encoding 获取字符串编码类型实现代码
2009/04/26 PHP
php中使用array_filter()函数过滤空数组的实现代码
2014/08/19 PHP
PHP合并数组+号和array_merge的区别
2015/06/25 PHP
PHP中的浅复制与深复制的实例详解
2017/10/26 PHP
PHP 实现链式操作
2021/03/09 PHP
Ext 今日学习总结
2010/09/19 Javascript
JavaScript中的几个关键概念的理解-原型链的构建
2011/05/12 Javascript
分页栏的web标准实现
2011/11/01 Javascript
JavaScript代码复用模式详解
2014/11/07 Javascript
基于HTML+CSS+JS实现增加删除修改tab导航特效代码
2016/08/05 Javascript
JavaScript中的this陷阱的最全收集并整理(没有之一)
2017/02/21 Javascript
微信小程序实现人脸识别登陆的示例代码
2019/04/02 Javascript
layui-select动态选中值的例子
2019/09/23 Javascript
解决vue 给window添加和移除resize事件遇到的坑
2020/07/21 Javascript
小程序实现录音功能
2020/09/22 Javascript
[02:07]TI9显影之尘系列 - Vici Gaming
2019/08/20 DOTA
python实现连接mongodb的方法
2015/05/08 Python
12步入门Python中的decorator装饰器使用方法
2016/06/20 Python
python文件写入write()的操作
2019/05/14 Python
Python使用正则实现计算字符串算式
2019/12/29 Python
浅谈Python的方法解析顺序(MRO)
2020/03/05 Python
Django用户身份验证完成示例代码
2020/04/03 Python
python模拟实现分发扑克牌
2020/04/22 Python
Python+PyQt5实现灭霸响指功能
2020/05/25 Python
踩坑:pytorch中eval模式下结果远差于train模式介绍
2020/06/23 Python
Hertz荷兰:荷兰和全球租车
2018/01/07 全球购物
教师自我鉴定范文
2013/11/10 职场文书
如何写一份好的英文求职信
2014/03/19 职场文书
班干部演讲稿
2014/04/24 职场文书
镇班子对照检查材料思想汇报
2014/09/24 职场文书
小学校园广播稿集锦
2014/10/04 职场文书
2015入党自传格式范文
2015/06/26 职场文书
少先队中队工作总结2015
2015/07/23 职场文书
生鲜超市—未来中国最具有潜力零售业态
2019/08/02 职场文书
解决Pytorch修改预训练模型时遇到key不匹配的情况
2021/06/05 Python
Spring实现内置监听器
2021/07/09 Java/Android