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 相关文章推荐
JavaScript 学习笔记(四)
Dec 31 Javascript
JS模拟自动点击的简单实例
Aug 08 Javascript
Jquery 动态循环输出表格具体方法
Nov 23 Javascript
jquery ajax应用中iframe自适应高度问题解决方法
Apr 12 Javascript
jquery实现鼠标滑过后动态图片提示效果实例
Aug 10 Javascript
基于js实现checkbox批量选中操作
Nov 22 Javascript
利用js判断手机是否安装某个app的多种方案
Feb 13 Javascript
关于vue面试题汇总
Mar 20 Javascript
react 移动端实现列表左滑删除的示例代码
Jul 04 Javascript
layui--select使用以及下拉框实现键盘选择的例子
Sep 24 Javascript
vue中使用router全局守卫实现页面拦截的示例
Oct 23 Javascript
vue+element table表格实现动态列筛选的示例代码
Jan 14 Vue.js
浅谈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
smarty模板局部缓存方法使用示例
2014/06/17 PHP
php实现webservice实例
2014/11/06 PHP
总结AJAX相关JS代码片段和浏览器模型
2007/08/15 Javascript
很好用的js日历算法详细代码
2013/03/07 Javascript
jquery获取一组checkbox的值(实例代码)
2013/11/04 Javascript
jQuery实现动画效果的简单实例
2014/01/27 Javascript
jQuery修改CSS伪元素属性的方法
2014/07/30 Javascript
javascript中一些util方法汇总
2015/06/10 Javascript
js操作数组函数实例小结
2015/12/10 Javascript
jQuery animate easing使用方法图文详解
2016/06/17 Javascript
在Web项目中引入Jquery插件报错的完美解决方案(图解)
2016/09/19 Javascript
解析NodeJs的调试方法
2016/12/11 NodeJs
js实现5秒倒计时重新发送短信功能
2017/02/05 Javascript
javaScript嗅探执行神器-sniffer.js
2017/02/14 Javascript
JS+HTML5实现图片在线预览功能
2017/07/22 Javascript
Bootstrap datepicker日期选择器插件使用详解
2017/07/26 Javascript
使用socket.io实现简单聊天室案例
2018/01/02 Javascript
JS实现同一DOM元素上onClick事件与onDblClick事件并存的解决方法
2018/06/07 Javascript
详解VScode编辑器vue环境搭建所遇问题解决方案
2019/04/26 Javascript
js获取本日、本周、本月的时间代码
2020/02/01 Javascript
Python中运行并行任务技巧
2015/02/26 Python
用Python进行行为驱动开发的入门教程
2015/04/23 Python
深入理解python函数递归和生成器
2016/06/06 Python
详解Django rest_framework实现RESTful API
2018/05/24 Python
使用python快速在局域网内搭建http传输文件服务的方法
2019/11/14 Python
win10系统Anaconda和Pycharm的Tensorflow2.0之CPU和GPU版本安装教程
2019/12/03 Python
python ffmpeg任意提取视频帧的方法
2020/02/21 Python
可以随进度显示不同颜色的css3进度条分享
2014/04/11 HTML / CSS
HTML5利用约束验证API来检查表单的输入数据的代码实例
2016/12/20 HTML / CSS
基于HTML5 Canvas的3D动态Chart图表的示例
2017/11/02 HTML / CSS
可打印的优惠券、杂货和优惠券代码:Coupons.com
2018/06/12 全球购物
新西兰最大的天然保健及护肤品网站:HealthPost(直邮中国)
2021/02/13 全球购物
TCP/IP模型的分界线
2012/12/01 面试题
本科毕业生自我鉴定
2013/11/02 职场文书
高三教师工作总结2015
2015/07/21 职场文书
索尼ICF-5900W收音机测评
2022/04/24 无线电