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 相关文章推荐
DOM2非标准但却支持很好的几个属性小结
Jan 21 Javascript
Javascript的常规数组和关联数组对比小结
May 24 Javascript
js克隆对象、数组的常用方法介绍
Sep 26 Javascript
node.js Web应用框架Express入门指南
May 28 Javascript
与Math.pow 相反的函数使用介绍
Aug 04 Javascript
JS、CSS以及img对DOMContentLoaded事件的影响
Aug 12 Javascript
JS实现自动切换文字的导航效果代码
Aug 27 Javascript
JavaScript实现设置默认日期范围为最近40天的方法分析
Jul 12 Javascript
Vuex新手的理解与使用详解
May 31 Javascript
如何在vue中使用jointjs过程解析
May 29 Javascript
在Vue中获取自定义属性方法:data-id的实例
Sep 09 Javascript
详解nginx配置vue h5 history去除#号
Nov 09 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
php数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位
2011/10/31 PHP
十幅图告诉你什么是PHP引用
2015/02/22 PHP
php实现自定义中奖项数和概率的抽奖函数示例
2017/05/26 PHP
Jsonp 跨域的原理以及Jquery的解决方案
2010/05/18 Javascript
firefox下input type="file"的size是多大
2011/10/24 Javascript
js常用代码段收集
2011/10/28 Javascript
node.js中Socket.IO的进阶使用技巧
2014/11/04 Javascript
node.js回调函数之阻塞调用与非阻塞调用
2015/11/13 Javascript
jQuery解析json数据实例分析
2015/11/24 Javascript
jQuery学习笔记——jqGrid的使用记录(实现分页、搜索功能)
2016/11/09 Javascript
vue使用watch 观察路由变化,重新获取内容
2017/03/08 Javascript
详细AngularJs4的图片剪裁组件的实例
2017/07/12 Javascript
angularjs实现天气预报功能
2020/06/16 Javascript
大转盘抽奖小程序版 转盘抽奖网页版
2020/04/16 Javascript
Vue2.x通用条件搜索组件的封装及应用详解
2019/05/28 Javascript
解决vue-cli webpack打包开启Gzip 报错问题
2019/07/24 Javascript
[02:44]2014DOTA2 国际邀请赛中国区预选赛 大神红毯秀
2014/05/25 DOTA
使用Turtle画正螺旋线的方法
2017/09/22 Python
python tkinter canvas 显示图片的示例
2019/06/13 Python
Python中pyecharts安装及安装失败的解决方法
2020/02/18 Python
使用Python3 poplib模块删除服务器多天前的邮件实现代码
2020/04/24 Python
Python调用shell cmd方法代码示例解析
2020/06/18 Python
python中用Scrapy实现定时爬虫的实例讲解
2021/01/18 Python
pytho matplotlib工具栏源码探析一之禁用工具栏、默认工具栏和工具栏管理器三种模式的差异
2021/02/25 Python
recorder.js 基于Html5录音功能的实现
2020/05/26 HTML / CSS
伯利陶器:Burleigh Pottery
2018/01/03 全球购物
英国婴儿和儿童服装网站:Vertbaudet
2018/04/02 全球购物
英国Lookfantastic中文网站:护肤品美妆美发购物(英国直邮)
2020/04/27 全球购物
一篇.NET面试题
2014/09/29 面试题
应届优秀本科大学毕业生自我鉴定
2014/01/21 职场文书
先进事迹演讲稿
2014/09/01 职场文书
大学感恩节活动策划方案
2014/10/11 职场文书
作风转变年心得体会
2014/10/22 职场文书
2015年试用期工作总结范文
2015/05/28 职场文书
教学副校长工作总结
2015/08/13 职场文书
拒绝盗图!教你怎么用python给图片加水印
2021/06/04 Python