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 相关文章推荐
js中数组(Array)的排序(sort)注意事项说明
Jan 24 Javascript
JavaScript 学习笔记之操作符
Jan 14 Javascript
对Angular.js Controller如何进行单元测试
Oct 25 Javascript
jQuery实现CheckBox全选、全不选功能
Jan 11 Javascript
JQuery实现动态操作表格
Jan 11 Javascript
浅谈javascript中的 “ &amp;&amp; ” 和 “ || ”
Feb 02 Javascript
详解Angular5 服务端渲染实战
Jan 04 Javascript
Vue中render方法的使用详解
Jan 26 Javascript
jQuery Dom元素操作技巧
Feb 04 jQuery
D3.js实现简洁实用的动态仪表盘的示例
Apr 04 Javascript
vue.js将时间戳转化为日期格式的实现代码
Jun 05 Javascript
vue实现轮播图帧率播放
Jan 26 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
3种平台下安装php4经验点滴
2006/10/09 PHP
phpmyadmin安装时提示:Warning: require_once(./libraries/common.inc.php)错误解决办法
2011/08/18 PHP
PHP中数组的三种排序方法分享
2012/05/07 PHP
Linux(CentOS)下PHP扩展PDO编译安装的方法
2016/04/07 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
2017/09/16 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
NodeJS与Mysql的交互示例代码
2013/08/18 NodeJs
jquery实现导航固定顶部的效果仿蘑菇街
2014/10/22 Javascript
js实现使用鼠标拖拽切换图片的方法
2015/05/04 Javascript
JS实现一次性弹窗的方法【刷新后不弹出】
2016/12/26 Javascript
详解Vue生命周期的示例
2017/03/10 Javascript
jQuery插件DataTables分页开发心得体会
2017/08/22 jQuery
对Vue beforeRouteEnter 的next执行时机详解
2018/08/25 Javascript
vue引入axios同源跨域问题
2018/09/27 Javascript
深入理解 JS 垃圾回收
2019/06/03 Javascript
微信小程序模板消息推送的两种实现方式
2019/08/27 Javascript
jquery实现直播弹幕效果
2019/11/28 jQuery
js实现登录拖拽窗口
2020/02/10 Javascript
详解Webpack4多页应用打包方案
2020/07/16 Javascript
[47:55]Ti4第二日主赛事败者组 NaVi vs EG 1
2014/07/20 DOTA
Python重新引入被覆盖的自带function
2014/07/16 Python
使用Python内置的模块与函数进行不同进制的数的转换
2016/03/12 Python
使用Python通过win32 COM实现Word文档的写入与保存方法
2018/05/08 Python
python实现自主查询实时天气
2018/06/22 Python
Linux 修改Python命令的方法示例
2018/12/03 Python
python实现电子书翻页小程序
2019/07/23 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
2019/10/11 Python
python实现数据清洗(缺失值与异常值处理)
2019/12/02 Python
Python selenium爬取微博数据代码实例
2020/05/22 Python
如何教少儿学习Python编程
2020/07/10 Python
Python Selenium异常处理的实例分析
2021/02/28 Python
利用CSS3的定位页面元素
2009/08/29 HTML / CSS
入党自我评价优缺点
2014/01/25 职场文书
初中教师个人总结
2015/02/10 职场文书
科普 | 业余无线电知识-波段篇
2022/02/18 无线电
Python 图片添加美颜效果
2022/04/28 Python