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 ajax 简单范例(界面+后台)
Nov 19 Javascript
JavaScript获取某年某月的最后一天附截图
Jun 23 Javascript
node.js中的fs.existsSync方法使用说明
Dec 17 Javascript
JS实现控制表格只显示行边框或者只显示列边框的方法
Mar 31 Javascript
JS实现自动变换的菜单效果代码
Sep 09 Javascript
jQuery validate插件submitHandler提交导致死循环解决方法
Jan 21 Javascript
Angular 2.x学习教程之结构指令详解
May 25 Javascript
vuex实现登录状态的存储,未登录状态不允许浏览的方法
Mar 09 Javascript
js中的数组对象排序分析
Dec 11 Javascript
使用vue实现各类弹出框组件
Jul 03 Javascript
js图片无缝滚动插件使用详解
May 26 Javascript
小程序websocket心跳库(websocket-heartbeat-miniprogram)
Feb 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
基于mysql的论坛(6)
2006/10/09 PHP
深入解析php中的foreach问题
2013/06/30 PHP
PHP连接局域网MYSQL数据库的简单实例
2013/08/26 PHP
简单实用的.net DataTable导出Execl
2013/10/28 PHP
Discuz7.2版的faq.php SQL注入漏洞分析
2014/08/06 PHP
关于URL最大长度限制的相关资料查证
2014/12/23 PHP
PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
2017/10/17 PHP
filters.revealTrans.Transition使用方法小结
2010/08/19 Javascript
script不刷新页面的联动前后代码
2013/09/18 Javascript
JavaScript利用正则表达式去除日期中的-
2014/06/09 Javascript
详解Javascript事件驱动编程
2016/01/03 Javascript
bootstrap实现每隔5秒自动轮播效果
2016/12/20 Javascript
理解javascript async的用法
2017/08/22 Javascript
angularJS实现动态添加,删除div方法
2018/02/27 Javascript
Vue自定义全局Toast和Loading的实例详解
2019/04/18 Javascript
jQuery设置下拉框显示与隐藏效果的方法分析
2019/09/15 jQuery
如何基于JavaScript判断图片是否加载完成
2019/12/28 Javascript
如何利用nodejs自动定时发送邮件提醒(超实用)
2020/12/01 NodeJs
[50:04]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第二局
2016/02/28 DOTA
[10:42]Team Liquid Vs Newbee
2018/06/07 DOTA
Python中getattr函数和hasattr函数作用详解
2016/06/14 Python
解决python xlrd无法读取excel文件的问题
2018/12/25 Python
如何使用Python自动控制windows桌面
2019/07/11 Python
python实现简单井字棋游戏
2020/03/04 Python
python 无损批量压缩图片(支持保留图片信息)的示例
2020/09/22 Python
CSS3属性使网站设计增强同时不消弱可用性
2009/08/29 HTML / CSS
美国派对用品及装饰品网上商店:Shindigz
2016/07/30 全球购物
机械工程师的岗位职责
2013/11/17 职场文书
迟到早退检讨书
2014/02/10 职场文书
岗位廉洁从政承诺书
2014/03/27 职场文书
工程项目经理任命书
2014/06/05 职场文书
公司股份合作协议书
2014/12/07 职场文书
诚信承诺书
2015/01/19 职场文书
2016年寒假学习心得体会
2015/10/09 职场文书
Redis 报错 error:NOAUTH Authentication required
2022/05/15 Redis
mysql 排序失效
2022/05/20 MySQL