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中的有名函数和无名函数
Oct 17 Javascript
js document.write()使用介绍
Feb 21 Javascript
jquery判断元素是否隐藏的多种方法
May 06 Javascript
JavaScript使用键盘输入控制实现数字验证功能
Aug 19 Javascript
vue.js+boostrap项目实践(案例详解)
Sep 21 Javascript
jQuery中页面返回顶部的方法总结
Dec 30 Javascript
JavaScript实现按键精灵的原理分析
Feb 21 Javascript
利用js给datalist或select动态添加option选项的方法
Jan 25 Javascript
vue.js自定义组件directives的实例代码
Nov 09 Javascript
自定义Vue组件打包、发布到npm及使用教程
May 22 Javascript
element-ui组件中input等的change事件中传递自定义参数
May 22 Javascript
js实现飞机大战小游戏
Aug 26 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
[FAQ]PHP中的一些常识:类篇
2006/10/09 PHP
php 伪造ip以及url来路信息方法汇总
2014/11/25 PHP
php实现短信发送代码
2015/07/05 PHP
PHP统计目录中文件以及目录中目录大小的方法
2016/01/09 PHP
Symfony2联合查询实现方法
2016/03/18 PHP
javascript 一个函数对同一元素的多个事件响应
2009/07/25 Javascript
javascript OFFICE控件测试代码
2009/12/08 Javascript
JavaScript编程开发中的五个实用小技巧
2010/07/22 Javascript
JS实现的4种数字千位符格式化方法分享
2015/03/02 Javascript
JavaScript中Math.SQRT2属性的使用详解
2015/06/14 Javascript
JavaScript的MVVM库Vue.js入门学习笔记
2016/05/03 Javascript
JavaScript简单实现弹出拖拽窗口(二)
2016/06/17 Javascript
百度地图API之百度地图退拽标记点获取经纬度的实现代码
2017/01/12 Javascript
JavaScript编写九九乘法表(两种任选)
2017/02/04 Javascript
关于vue.js v-bind 的一些理解和思考
2017/06/06 Javascript
angular.extend方法的具体使用
2017/09/14 Javascript
JS笛卡尔积算法与多重数组笛卡尔积实现方法示例
2017/12/01 Javascript
spring+angular实现导出excel的实现代码
2019/02/27 Javascript
原生Vue 实现右键菜单组件功能
2019/12/16 Javascript
详解Webpack4多页应用打包方案
2020/07/16 Javascript
python按照多个字符对字符串进行分割的方法
2015/03/17 Python
用Python的Django框架完成视频处理任务的教程
2015/04/02 Python
Python数据处理篇之Sympy系列(五)---解方程
2019/10/12 Python
tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式
2020/01/23 Python
HTML5 Canvas自定义圆角矩形与虚线示例代码
2013/08/02 HTML / CSS
HTML5输入框下拉菜单功能的示例代码
2020/09/08 HTML / CSS
StubHub墨西哥:购买和出售您的门票
2016/09/17 全球购物
专营店会计助理岗位职责
2013/11/29 职场文书
事业单位请假制度
2014/01/13 职场文书
奥利奥广告词
2014/03/20 职场文书
销售竞赛活动方案
2014/08/23 职场文书
招商引资工作汇报材料
2014/10/28 职场文书
简历上的自我评价,该怎么写呢?
2019/06/13 职场文书
《女娲补天》读后感5篇
2019/12/31 职场文书
python爬不同图片分别保存在不同文件夹中的实现
2021/04/02 Python
关于springboot 配置date字段返回时间戳的问题
2021/07/25 Java/Android