Js-$.extend扩展方法使方法参数更灵活


Posted in Javascript onJanuary 15, 2013

在做JS开发时,我们将第三方复杂的插件进行封装,然后对外公开一个很简单的方法接口,这是开发时常用的方法,在JS里,我们的方法参数通常使用JQ的$.extend 扩展方法来实现

function extend(arr) { 
arr = $.extend({ name: 'zzl', sex: 'male', age: 31 }, arr || {}); 
alert("[Name:]" + arr.name + "[Sex:]" + arr.sex + "[Age:]" + arr.age); 
}

在页面调用时
<a href="#" onclick="extend();return false;">extends</a>输出内容为:

Js-$.extend扩展方法使方法参数更灵活 
即如果我们没有为arr指定值,它会把默认的值进行输出,如果我们为arr对象的某个属性赋值,结果会怎样?

<a href="#" onclick="extend({name:'占占'});return false;">extends</a>

上面代码,我们改变了name属性的性,结果输出为

Js-$.extend扩展方法使方法参数更灵活
即,它只修改了指定属性的值,对象的其它值保持为原来的默认值。
JS中的||运算符与C#中的||作用相同,都是“逻辑或”,而在本例中它的用法是,如果arr对象为空,然后将{}赋值给它,这个功能类似于C#里的

??运算符,所以JS里的||挺强大,呵呵。

Javascript 相关文章推荐
input的focus方法使用
Mar 13 Javascript
7款吸引人眼球的jQuery/CSS3特效实例分享
Apr 25 Javascript
Jquery同辈元素选中/未选中效果的实例代码
Aug 01 Javascript
用js格式化金额可设置保留的小数位数
May 09 Javascript
AngularJS学习笔记之ng-options指令
Jun 16 Javascript
深入理解angularjs过滤器
May 25 Javascript
js输出数据精确到小数点后n位代码
Jul 02 Javascript
JavaScript模拟文件拖选框样式v1.0的实例
Aug 04 Javascript
jQuery响应滚动条事件功能示例
Oct 14 jQuery
Node.js 进程平滑离场剖析小结
Jan 24 Javascript
vue-socket.io跨域问题有效解决方法
Feb 11 Javascript
ant design vue的form表单取值方法
Jun 01 Vue.js
js弹出框轻量级插件jquery.boxy使用介绍
Jan 15 #Javascript
jquery.boxy弹出框(后隔N秒后自动隐藏/自动跳转)
Jan 15 #Javascript
SOSO地图API使用(一)在地图上画圆实现思路与代码
Jan 15 #Javascript
script的async属性以非阻塞的模式加载脚本
Jan 15 #Javascript
javascript真的不难-回顾一下基础知识
Jan 15 #Javascript
jQuery使用动态渲染表单功能完成ajax文件下载
Jan 15 #Javascript
jsvascript图像处理—(计算机视觉应用)图像金字塔
Jan 15 #Javascript
You might like
PHP网页游戏学习之Xnova(ogame)源码解读(八)
2014/06/23 PHP
php判断当前操作系统类型
2015/10/28 PHP
phpmyadmin在宝塔面板里进不去的解决方案
2020/07/06 PHP
js注意img图片的onerror事件的分析
2011/01/01 Javascript
javascript ready和load事件的区别示例介绍
2013/08/30 Javascript
Jquery图片延迟加载插件jquery.lazyload.js的使用方法
2014/05/21 Javascript
跟我学习javascript的var预解析与函数声明提升
2015/11/16 Javascript
Jquery元素追加和删除的实现方法
2016/05/24 Javascript
一种Javascript解释ajax返回的json的好方法(推荐)
2016/06/02 Javascript
使用JS中的exec()方法构造正则表达式验证
2016/08/01 Javascript
javascript 四十条常用技巧大全
2016/09/09 Javascript
Bootstrap表格使用方法详解
2017/02/17 Javascript
vue项目中引入noVNC远程桌面的方法
2018/03/05 Javascript
webpack实现一个行内样式px转vw的loader示例
2018/09/13 Javascript
如何使用 vue + d3 画一棵树
2018/12/03 Javascript
利用es6 new.target来对模拟抽象类的方法
2019/05/10 Javascript
Vue.js递归组件实现组织架构树和选人功能案例分析
2019/07/03 Javascript
原生js中运算符及流程控制示例详解
2021/01/05 Javascript
Python socket C/S结构的聊天室应用实现
2014/11/30 Python
Python实现基本数据结构中队列的操作方法示例
2017/12/04 Python
python3.4.3下逐行读入txt文本并去重的方法
2018/04/29 Python
python实现猜单词小游戏
2020/05/22 Python
解决Pytorch 训练与测试时爆显存(out of memory)的问题
2019/08/20 Python
如何运行带参数的python脚本
2019/11/15 Python
python 实现人和电脑猜拳的示例代码
2020/03/02 Python
python基于opencv实现人脸识别
2021/01/04 Python
解决pytorch 保存模型遇到的问题
2021/03/03 Python
html5 input元素新特性_动力节点Java学院整理
2017/07/06 HTML / CSS
html2 canvas生成清晰的图片实现打印功能
2019/09/23 HTML / CSS
自我反省检讨书
2014/01/23 职场文书
2015年环境整治工作总结
2015/05/22 职场文书
学校元旦晚会开场白
2015/05/29 职场文书
2016入党积极分子心得体会
2016/01/06 职场文书
熟背这些句子,让您的英语口语突飞猛进(135句)
2019/09/06 职场文书
javascript实现计算器功能详解流程
2021/11/01 Javascript
SQL中的连接查询详解
2022/06/21 SQL Server