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 迁移目录
Dec 18 Javascript
一个JS小玩意 几个属性相加不能超过一个特定值.
Sep 29 Javascript
js 加载并解析XML字符串的代码
Dec 13 Javascript
$.ajax返回的JSON无法执行success的解决方法
Sep 09 Javascript
jQuery中innerHeight()方法用法实例
Jan 19 Javascript
jQuery progressbar通过Ajax请求实现后台进度实时功能
Oct 11 Javascript
JS字符串统计操作示例【遍历,截取,输出,计算】
Mar 27 Javascript
bootstrap Table的一些小操作
Nov 01 Javascript
Javascript 之封装(Package)
Sep 14 Javascript
Vue 之孙组件向爷组件通信的实现
Apr 23 Javascript
JS出现404错误原理及解决方案
Jul 01 Javascript
前端canvas中物体边框和控制点的实现示例
Aug 05 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计算2点经纬度之间的距离代码
2013/08/12 PHP
PHP与服务器文件系统的简单交互
2016/10/21 PHP
window.open的功能全解析
2006/10/10 Javascript
IE 上下滚动展示模仿Marquee机制
2009/12/20 Javascript
JavaScript中的变量作用域介绍
2014/12/31 Javascript
javascript实现跨域的方法汇总
2015/06/25 Javascript
异步JS框架的作用以及实现方法
2015/10/29 Javascript
jQuery的选择器中的通配符[id^='code']或[name^='code']及jquery选择器总结
2015/12/24 Javascript
学习JavaScript设计模式之代理模式
2016/01/12 Javascript
Winform客户端向web地址传参接收参数的方法
2016/05/17 Javascript
jQuery为DOM动态追加事件的方法
2017/02/16 Javascript
基于Vue实现支持按周切换的日历
2020/09/24 Javascript
nodejs中实现修改用户路由功能
2019/05/24 NodeJs
[01:13:18]Secret vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
[46:28]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
Python中关于字符串对象的一些基础知识
2015/04/08 Python
Python多进程分块读取超大文件的方法
2016/04/13 Python
Python 爬虫多线程详解及实例代码
2016/10/08 Python
Ubuntu下创建虚拟独立的Python环境全过程
2017/02/10 Python
python3+PyQt5 使用三种不同的简便项窗口部件显示数据的方法
2019/06/17 Python
详解numpy.meshgrid()方法使用
2019/08/01 Python
使用python实现男神女神颜值打分系统(推荐)
2019/10/31 Python
在django中自定义字段Field详解
2019/12/03 Python
Python编程快速上手——Excel到CSV的转换程序案例分析
2020/02/28 Python
使用Jupyter notebooks上传文件夹或大量数据到服务器
2020/04/14 Python
使用jupyter notebook将文件保存为Markdown,HTML等文件格式
2020/04/14 Python
Django ForeignKey与数据库的FOREIGN KEY约束详解
2020/05/20 Python
HTML5语音识别标签写法附图
2013/11/18 HTML / CSS
电子商务个人职业生涯规划范文
2014/02/12 职场文书
2014庆六一活动方案
2014/03/02 职场文书
护理专科学生自荐书
2014/07/05 职场文书
高中班主任工作总结(范文)
2019/08/20 职场文书
导游词之阳朔遇龙河
2019/12/16 职场文书
ORACLE数据库对long类型字段进行模糊匹配的解决思路
2021/04/07 Oracle
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
2022/04/07 Servers
Java实现字符串转为驼峰格式的方法详解
2022/07/07 Java/Android