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 相关文章推荐
jQuery制作仿腾讯web qq用户体验桌面
Aug 20 Javascript
javascript通过navigator.userAgent识别各种浏览器
Oct 25 Javascript
html5 canvas js(数字时钟)实例代码
Dec 23 Javascript
一些老手都不一定知道的JavaScript技巧
May 06 Javascript
JS+CSS实现仿msn风格选项卡效果代码
Oct 22 Javascript
Javascript打印局部页面实例
Jun 21 Javascript
Angularjs根据json文件动态生成路由状态的实现方法
Apr 17 Javascript
BootStrap表单控件之文本域textarea
May 23 Javascript
微信小程序 按钮滑动的实现方法
Sep 27 Javascript
JS简单实现滑动加载数据的方法示例
Oct 18 Javascript
mockjs,json-server一起搭建前端通用的数据模拟框架教程
Dec 18 Javascript
node.js的Express服务器基本使用教程
Jan 09 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开发者常犯的10个MySQL错误更正剖析
2012/01/30 PHP
php如何调用webservice应用介绍
2012/11/24 PHP
CodeIgniter视图使用注意事项
2016/01/20 PHP
laravel model模型定义实现开启自动管理时间created_at,updated_at
2019/10/17 PHP
Javascript load Page,load css,load js实现代码
2010/03/31 Javascript
js实现可折叠展开的手风琴菜单效果
2015/09/07 Javascript
使用javascript插入样式
2016/03/14 Javascript
jQuery使用Selectator插件实现多选下拉列表过滤框(附源码下载)
2016/04/08 Javascript
Vue.js如何优雅的进行form validation
2017/04/07 Javascript
解决vue中修改了数据但视图无法更新的情况
2018/08/27 Javascript
element UI upload组件上传附件格式限制方法
2018/09/04 Javascript
Vue项目中使用better-scroll实现菜单映射功能方法
2019/09/11 Javascript
微信小程序防止多次点击跳转和防止表单组件输入内容多次验证功能(函数防抖)
2019/09/19 Javascript
在vue-cli中引入lodash.js并使用详解
2019/11/13 Javascript
浅谈vue获得后台数据无法显示到table上面的坑
2020/08/13 Javascript
vue实现打地鼠小游戏
2020/08/21 Javascript
[03:23]我的刀塔你不可能这么可爱 第一期金萌萌的故事
2014/06/20 DOTA
对numpy中array和asarray的区别详解
2018/04/17 Python
数组保存为txt, npy, csv 文件, 数组遍历enumerate的方法
2018/07/09 Python
python提取具有某种特定字符串的行数据方法
2018/12/11 Python
Django实现学生管理系统
2019/02/26 Python
Python爬取数据保存为Json格式的代码示例
2019/04/09 Python
导入tensorflow:ImportError: libcublas.so.9.0 报错
2020/01/06 Python
ProBikeKit美国官网:自行车套件,跑步和铁人三项套件
2016/10/13 全球购物
Columbia Sportswear法国官网:全球户外品牌
2020/09/25 全球购物
SQL Server里面什么样的视图才能创建索引
2015/04/17 面试题
最新奶茶店创业计划书范文
2014/02/08 职场文书
安全教育实施方案
2014/03/02 职场文书
幼儿教师师德承诺书
2014/05/23 职场文书
学校领导班子成员查摆问题及整改措施
2014/10/28 职场文书
数学考试作弊检讨书300字
2015/02/16 职场文书
党小组意见范文
2015/06/08 职场文书
工作证明格式范文
2015/06/15 职场文书
2019年恭贺升学祝福语集锦
2019/08/15 职场文书
NodeJs内存占用过高的排查实战记录
2021/05/10 NodeJs
python析构函数用法及注意事项
2021/06/22 Python