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 对象的创建与使用
Mar 09 Javascript
javascript 硬盘序列号+其它硬件信息
Dec 23 Javascript
JavaScript判断窗口是否最小化的代码(跨浏览器)
Aug 01 Javascript
原生javascript获取元素样式属性值的方法
Dec 25 Javascript
js的延迟执行问题分析
Jun 23 Javascript
js实现的点击div区域外隐藏div区域
Jun 30 Javascript
JS+CSS实现弹出全屏灰黑色透明遮罩效果的方法
Dec 20 Javascript
详解Backbone.js框架中的模型Model与其集合collection
May 05 Javascript
使用Script元素发送JSONP请求的方法
Jun 12 Javascript
jQuery插件FusionWidgets实现的Cylinder图效果示例【附demo源码】
Mar 23 jQuery
javascript  数组排序与对象排序的实例
Jul 17 Javascript
微信小程序之侧边栏滑动实现过程解析(附完整源码)
Aug 23 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
PHP4和PHP5共存于一系统
2006/11/17 PHP
OAuth认证协议中的HMACSHA1加密算法(实例)
2017/10/25 PHP
PHP实现微信提现功能(微信商城)
2019/11/21 PHP
在视频前插入广告
2006/11/20 Javascript
解决JS浮点数运算出现Bug的方法
2013/03/12 Javascript
jQuery Form 页面表单提交的小例子
2013/11/15 Javascript
js arguments,jcallee caller用法总结
2013/11/30 Javascript
js的参数有长度限制吗?发现不能超过2083个字符
2014/04/20 Javascript
javascript实现iframe框架延时加载的方法
2014/10/30 Javascript
jQuery预加载图片常用方法
2015/06/15 Javascript
常用DOM整理
2015/06/16 Javascript
jQuery实现固定在网页顶部的菜单效果代码
2015/09/02 Javascript
JavaScript阻止回车提交表单的方法
2015/12/30 Javascript
BootStrap 弹出层代码
2017/02/09 Javascript
Node.js连接mongodb实例代码
2017/06/06 Javascript
js 获取元素的具体样式信息getcss(实例讲解)
2017/07/05 Javascript
vue + element-ui实现简洁的导入导出功能
2017/12/22 Javascript
vue生命周期与钩子函数简单示例
2019/03/13 Javascript
详解key在Vue列表渲染时究竟起到了什么作用
2019/04/20 Javascript
layui递归实现动态左侧菜单
2019/07/26 Javascript
Vue中jsx不完全应用指南小结
2019/11/01 Javascript
原理深度解析Vue的响应式更新比React快
2020/04/04 Javascript
vue实现评价星星功能
2020/06/30 Javascript
理解Python中函数的参数
2015/04/27 Python
基于hashlib模块--加密(详解)
2017/06/21 Python
django ListView的使用 ListView中获取url中的参数值方式
2020/03/27 Python
HTML5 Canvas实现烟花绽放特效
2016/03/02 HTML / CSS
华为python面试题
2016/05/03 面试题
初中三好学生事迹材料
2014/01/13 职场文书
出国签证在职证明
2014/01/16 职场文书
《雨点》教学反思
2014/02/12 职场文书
升学宴主持词
2014/04/02 职场文书
民族学专业职业生涯规划范文:积跬步以至千里
2014/09/11 职场文书
怎样写离婚协议书
2015/01/26 职场文书
卫生院义诊活动总结
2015/05/07 职场文书
MySQL基础(二)
2021/04/05 MySQL