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 相关文章推荐
网站404页面3秒后跳到首页的实例代码
Aug 16 Javascript
js格式化时间和js格式化时间戳示例
Feb 10 Javascript
js函数名与form表单元素同名冲突的问题
Mar 07 Javascript
javascript中解析四则运算表达式的算法和示例
Aug 11 Javascript
jquery分割字符串的方法
Jun 24 Javascript
浅谈Vue.js中的v-on(事件处理)
Sep 05 Javascript
Vue手把手教你撸一个 beforeEnter 钩子函数
Apr 24 Javascript
vux uploader 图片上传组件的安装使用方法
May 15 Javascript
微信小程序五子棋游戏的棋盘,重置,对弈实现方法【附demo源码下载】
Feb 20 Javascript
vue.js实现照片放大功能
Jun 23 Javascript
JS字符串和数组如何实现相互转化
Jul 02 Javascript
vue实现从外部修改组件内部的变量的值
Jul 30 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
页面利用渐进式JPEG来提升用户体验度
2014/12/01 PHP
yii2高级应用之自定义组件实现全局使用图片上传功能的方法
2016/10/08 PHP
php rsa 加密,解密,签名,验签详解
2016/12/06 PHP
thinkPHP+ajax实现统计页面pv浏览量的方法
2017/03/15 PHP
php策略模式简单示例分析【区别于工厂模式】
2019/09/25 PHP
来自chinaz的ajax获取评论代码
2008/05/03 Javascript
js window.onload 加载多个函数的方法
2009/11/02 Javascript
jQuery EasyUI API 中文文档 搜索框
2011/09/29 Javascript
通过Javascript将数据导出到外部Excel文档的函数代码
2012/06/15 Javascript
一个可拖拽列宽表格实例演示
2012/11/26 Javascript
JS HTML5 音乐天气播放器(Ajax获取天气信息)
2013/05/26 Javascript
javascript控制Div层透明属性由浅变深由深变浅逐渐显示
2013/11/12 Javascript
javascript实现根据身份证号读取相关信息
2014/12/17 Javascript
JavaScript设计模式之代理模式介绍
2014/12/28 Javascript
javascript的switch用法注意事项分析
2015/02/02 Javascript
javascript+HTML5自定义元素播放焦点图动画
2016/02/21 Javascript
Sea.JS知识总结
2016/05/05 Javascript
JS实现密码框的显示密码和隐藏密码功能示例
2016/12/26 Javascript
微信小程序 Toast自定义实例详解
2017/01/20 Javascript
js指定步长实现单方向匀速运动
2017/07/17 Javascript
AngularJS 前台分页实现的示例代码
2018/06/07 Javascript
JavaScript面向对象继承原理与实现方法分析
2018/08/09 Javascript
JavaScript读写二进制数据的方法详解
2018/09/09 Javascript
Node.js原生api搭建web服务器的方法步骤
2019/02/15 Javascript
[36:33]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第二场 11.29
2020/12/02 DOTA
Python的迭代器和生成器使用实例
2015/01/14 Python
对python 判断数字是否小于0的方法详解
2019/01/26 Python
pyqt5 QScrollArea设置在自定义侧(任何位置)
2019/09/25 Python
如何通过python计算圆周率PI
2020/11/11 Python
美国在线购买和出售礼品卡网站:EJ Gift Cards
2019/06/09 全球购物
美国名牌香水折扣网站:Hottperfume
2021/02/10 全球购物
MVC的各个部分都有那些技术来实现?如何实现?
2016/04/21 面试题
财务与信息服务专业推荐信
2013/11/28 职场文书
营销总经理岗位职责
2014/02/02 职场文书
为什么MySQL选择Repeatable Read作为默认隔离级别
2021/07/26 MySQL
Zabbix对Kafka topic积压数据监控的问题(bug优化)
2022/07/07 Servers