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 相关文章推荐
VBScript版代码高亮
Jun 26 Javascript
将string解析为json的几种方式小结
Nov 11 Javascript
jquery之超简单的div显示和隐藏特效demo(分享)
Jul 09 Javascript
CSS+jQuery实现的一个放大缩小动画效果
Sep 24 Javascript
Node.js事件循环(Event Loop)和线程池详解
Jan 28 Javascript
js密码强度检测
Jan 07 Javascript
AngularJS 支付倒计时功能实现思路
Jun 05 Javascript
基于ionic实现下拉刷新功能
May 10 Javascript
node中的密码安全(加密)
Sep 17 Javascript
微信小程序实现点击效果
Jun 21 Javascript
Node.js创建一个Express服务的方法详解
Jan 06 Javascript
vue浏览器返回监听的具体步骤
Feb 03 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中PDO的错误处理
2011/09/04 PHP
ThinkPHP3.1新特性之查询条件预处理简介
2014/06/19 PHP
php短网址和数字之间相互转换的方法
2015/03/13 PHP
PHP处理postfix邮件内容的方法
2015/06/16 PHP
YII Framework教程之异常处理详解
2016/03/14 PHP
Yii框架模拟组件调用注入示例
2019/11/11 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
2019/11/24 PHP
浅谈PHP之ThinkPHP框架使用详解
2020/07/21 PHP
PHP并发场景的三种解决方案代码实例
2021/02/27 PHP
JQuery 学习笔记 element属性控制
2009/07/23 Javascript
自己写了一个展开和收起的多更能型的js效果
2013/03/05 Javascript
JavaScript中的索引数组、关联数组和静态数组、动态数组讲解
2014/11/08 Javascript
js实现数字每三位加逗号的方法
2015/02/05 Javascript
基于Bootstrap里面的Button dropdown打造自定义select
2016/05/30 Javascript
jquery 正整数数字校验正则表达式
2017/01/10 Javascript
原生JS京东轮播图代码
2017/03/22 Javascript
vue2.0实战之基础入门(1)
2017/03/27 Javascript
Node学习记录之cluster模块
2017/05/31 Javascript
vue-cli初始化项目中使用less的方法
2018/08/09 Javascript
详解用vue2.x版本+adminLTE开源框架搭建后台应用模版
2019/03/15 Javascript
详解elementui之el-image-viewer(图片查看器)
2019/08/30 Javascript
jQuery+PHP+Ajax实现动态数字统计展示功能
2019/12/25 jQuery
vue实现在线学生录入系统
2020/05/30 Javascript
[42:39]老党炸弹人试玩视频
2014/09/03 DOTA
[51:53]完美世界DOTA2联赛决赛日 Inki vs LBZS 第二场 11.08
2020/11/10 DOTA
python多线程编程中的join函数使用心得
2014/09/02 Python
浅谈Series和DataFrame中的sort_index方法
2018/06/07 Python
在Python中过滤Windows文件名中的非法字符方法
2019/06/10 Python
使用Python完成15位18位身份证的互转功能
2019/11/06 Python
python中怎么表示空值
2020/06/19 Python
CSS3中的display:grid,网格布局介绍
2019/10/30 HTML / CSS
什么是Linux虚拟文件系统VFS
2015/08/25 面试题
CSS实现fullpage.js全屏滚动效果的示例代码
2021/03/24 HTML / CSS
大学生自我评价200字(4篇)
2014/09/17 职场文书
交流会主持词
2015/07/02 职场文书
python爬虫请求库httpx和parsel解析库的使用测评
2021/05/10 Python