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 相关文章推荐
jquery高效反选具体实现
May 05 Javascript
jQuery的slideToggle方法实例
May 07 Javascript
JavaScript制作简易的微信打飞机
Mar 31 Javascript
百度地图api如何使用
Aug 03 Javascript
JS for...in 遍历语句用法实例分析
Aug 24 Javascript
JS生成一维码(条形码)功能示例
Jan 19 Javascript
详解Angualr 组件间通信
Jan 21 Javascript
webpack打包单页面如何引用的js
Jun 07 Javascript
微信小程序顶部可滚动导航效果
Oct 31 Javascript
angular第三方包开发整理(小结)
Apr 19 Javascript
javascript function(函数类型)使用与注意事项小结
Jun 10 Javascript
Vue3.x源码调试的实现方法
Oct 13 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世纪万年历
2006/12/06 PHP
php的sprintf函数的用法 控制浮点数格式
2014/02/14 PHP
PHP7新增函数
2021/03/09 PHP
javascript实现数组内值索引随机化及创建随机数组的方法
2015/08/10 Javascript
JS基于Ajax实现的网页Loading效果代码
2015/10/27 Javascript
JavaScript获取function所有参数名的方法
2015/10/30 Javascript
JS三级可折叠菜单实现方法
2016/02/29 Javascript
node.js中express-session配置项详解
2017/05/31 Javascript
通过一个简单的例子学会vuex与模块化
2017/11/22 Javascript
jquery手机触屏滑动拼音字母城市选择器的实例代码
2017/12/11 jQuery
webpack组织模块打包Library的原理及实现
2018/03/10 Javascript
Vue Object.defineProperty及ProxyVue实现双向数据绑定
2020/09/02 Javascript
[02:23]2018DOTA2亚洲邀请赛趣味视频——反应测试
2018/04/04 DOTA
Python Web框架Pylons中使用MongoDB的例子
2013/12/03 Python
零基础写python爬虫之使用Scrapy框架编写爬虫
2014/11/07 Python
Python的面向对象编程方式学习笔记
2016/07/12 Python
Python实现查找匹配项作处理后再替换回去的方法
2017/06/10 Python
python3.6连接MySQL和表的创建与删除实例代码
2017/12/28 Python
PyQt5每天必学之布局管理
2018/04/19 Python
Python操作redis实例小结【String、Hash、List、Set等】
2019/05/16 Python
Python函数参数匹配模型通用规则keyword-only参数详解
2019/06/10 Python
Python CVXOPT模块安装及使用解析
2019/08/01 Python
在win64上使用bypy进行百度网盘文件上传功能
2020/01/02 Python
pycharm 对代码做静态检查操作
2020/06/09 Python
关于PyCharm安装后修改路径名称使其可重新打开的问题
2020/10/20 Python
pycharm 2020.2.4 pip install Flask 报错 Error:Non-zero exit code的问题
2020/12/04 Python
CSS3绘制超炫的上下起伏波动进度加载动画
2016/04/21 HTML / CSS
html5自带表单验证体验优化及提示气泡修改功能
2017/09/12 HTML / CSS
澳大利亚最受欢迎的超级商场每日优惠:Catch
2020/11/17 全球购物
25岁生日感言
2014/01/13 职场文书
家长评语大全
2014/01/22 职场文书
服务质量承诺书
2014/03/27 职场文书
高三毕业典礼演讲稿
2014/05/13 职场文书
实习介绍信范文
2015/05/05 职场文书
教师节校长致辞
2015/07/31 职场文书
公司员工违法违章行为检讨书
2019/06/24 职场文书