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 简单导航实现代码
Sep 11 Javascript
删除select中所有option选项jquery代码
Aug 12 Javascript
jQuery Trim去除字符串首尾空字符的实现方法说明
Feb 11 Javascript
javascript实现设置、获取和删除Cookie的方法
Jun 01 Javascript
JS+CSS简单树形菜单实现方法
Sep 12 Javascript
Vue.js 60分钟快速入门教程
Mar 28 Javascript
JavaScript中in和hasOwnProperty区别详解
Aug 04 Javascript
Vue利用路由钩子token过期后跳转到登录页的实例
Oct 26 Javascript
JavaScript简单实现动态改变HTML内容的方法示例
Dec 25 Javascript
vue addRoutes路由动态加载操作
Aug 04 Javascript
基于vue项目设置resolves.alias: '@'路径并适配webstorm
Dec 02 Vue.js
vue 数据双向绑定的实现方法
Mar 04 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
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
2006/10/09 PHP
PHP 采集心得技巧
2009/05/15 PHP
php实现猴子选大王问题算法实例
2015/04/20 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
点图片上一页下一页翻页效果
2008/07/09 Javascript
Jquery 自定义动画概述及示例
2013/03/29 Javascript
用nodejs写的一个简单项目打包工具
2013/05/11 NodeJs
js全屏显示显示代码的三种方法
2013/11/11 Javascript
jquery基础教程之deferred对象使用方法
2014/01/22 Javascript
javascript解决小数的加减乘除精度丢失的方案
2016/05/31 Javascript
BootStrap glyphicon图标无法显示的解决方法
2016/09/06 Javascript
Vue.js 和 MVVM 的注意事项
2016/11/07 Javascript
浅谈angular4实际项目搭建总结
2017/12/01 Javascript
重学JS 系列:聊聊继承(推荐)
2019/04/11 Javascript
Vee-validate 父组件获取子组件表单校验结果的实例代码
2019/05/20 Javascript
js定义类的方法示例【ES5与ES6】
2019/07/30 Javascript
vue+element表格导出为Excel文件
2019/09/26 Javascript
vue项目从node8.x升级到12.x后的问题解决
2019/10/25 Javascript
vue实现淘宝购物车功能
2020/04/20 Javascript
JS 图片压缩原理与实现方法详解
2020/04/29 Javascript
python list转dict示例分享
2014/01/28 Python
python两种遍历字典(dict)的方法比较
2014/05/29 Python
用PyQt进行Python图形界面的程序的开发的入门指引
2015/04/14 Python
python实现发送和获取手机短信验证码
2016/01/15 Python
解决Python2.7中IDLE启动没有反应的问题
2018/11/30 Python
django主动抛出403异常的方法详解
2019/01/04 Python
不到20行代码用Python做一个智能聊天机器人
2019/04/19 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
2019/08/22 Python
OpenCV里的imshow()和Matplotlib.pyplot的imshow()的实现
2019/11/25 Python
在django中实现choices字段获取对应字段值
2020/07/12 Python
使用Django的JsonResponse返回数据的实现
2021/01/15 Python
高分子材料个人求职信范文
2013/09/25 职场文书
英文版餐饮运营管理求职信
2013/11/06 职场文书
优秀毕业生找工作自荐信
2014/06/23 职场文书
仰望星空观后感
2015/06/10 职场文书
2016高一新生军训心得体会
2016/01/11 职场文书