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 相关文章推荐
JavaScript操纵窗口的方法小结
Jun 28 Javascript
Jquery简单实现GridView行高亮的方法
Jun 15 Javascript
数据分析软件之FineReport教程:[5]参数界面JS(全)
Aug 13 Javascript
微信小程序 选项卡的简单实例
May 24 Javascript
详解Vue2.x-directive的学习笔记
Jul 17 Javascript
纯js代码生成可搜索选择下拉列表的实例
Jan 11 Javascript
Vue 页面切换效果之 BubbleTransition(推荐)
Apr 08 Javascript
深入理解JavaScript 中的匿名函数((function() {})();)与变量的作用域
Aug 28 Javascript
浅析vue中的MVVM实现原理
Mar 04 Javascript
layui实现checkbox的目录树tree的例子
Sep 12 Javascript
vue+springboot+element+vue-resource实现文件上传教程
Oct 21 Javascript
elementUI同一页面展示多个Dialog的实现
Nov 19 Javascript
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生成缩略图的函数代码(修改版)
2011/01/18 PHP
PHP中获取变量的变量名的一段代码的bug分析
2011/07/07 PHP
使用php+swoole对client数据实时更新(一)
2016/01/07 PHP
Yii2.0中使用js异步删除示例
2017/03/10 PHP
PHP简单读取xml文件的方法示例
2017/04/20 PHP
thinkPHP框架实现的无限回复评论功能示例
2018/06/09 PHP
Avengerls vs KG BO3 第一场2.18
2021/03/10 DOTA
CSS常用网站布局实例
2008/04/03 Javascript
JS控制显示隐藏兼容问题(IE6、IE7、IE8)
2010/04/01 Javascript
jQuery获取浏览器中的分辨率实现代码
2013/04/23 Javascript
javascript实现全角与半角字符的转换
2015/01/07 Javascript
javascript中的Base64、UTF8编码与解码详解
2015/03/18 Javascript
jquery插件jquery.beforeafter.js实现左右拖拽分隔条对比图片的方法
2015/08/07 Javascript
jquery判断输入密码两次是否相等
2020/04/22 Javascript
详解Javacript和AngularJS中的Promises
2016/02/09 Javascript
javascript冒泡排序小结
2016/04/10 Javascript
深入理解JavaScript中的块级作用域、私有变量与模块模式
2016/10/31 Javascript
微信小程序开发之数据存储 参数传递 数据缓存
2017/04/13 Javascript
zTree异步加载展开第一级节点的实现方法
2017/09/05 Javascript
利用jsonp与代理服务器方案解决跨域问题
2017/09/14 Javascript
浅谈React 服务器端渲染的使用
2018/05/08 Javascript
webpack配置proxyTable时pathRewrite无效的解决方法
2018/12/13 Javascript
Vue使用localStorage存储数据的方法
2019/05/27 Javascript
JavaScript相等运算符的九条规则示例详解
2019/10/20 Javascript
如何使用原生Js实现随机点名详解
2021/01/06 Javascript
[15:46]教你分分钟做大人——沙王
2015/03/11 DOTA
python中pass语句用法实例分析
2015/04/30 Python
python框架flask表单实现详解
2019/11/04 Python
Python实现FLV视频拼接功能
2020/01/21 Python
Django项目创建及管理实现流程详解
2020/10/13 Python
推荐一些比较有用的css3新属性
2014/11/11 HTML / CSS
html5生成柱状图(条形图)效果的实例代码
2016/03/25 HTML / CSS
Reebok官方旗舰店:美国知名健身品牌锐步
2019/01/07 全球购物
异地年检委托书范本
2014/09/24 职场文书
企业党的群众路线教育实践活动学习心得体会
2014/10/31 职场文书
创业方案:赚钱的烧烤店该怎样做?
2019/07/05 职场文书