使用JSON作为函数的参数的优缺点


Posted in Javascript onOctober 27, 2016

一直对json不太懂,最近看了一些介绍才发现,原来这个东西这么好用,下面就为大家介绍一下

1、我们可以随时为一个函数添加/删除参数或在任意参数位置添加新参数,而不会像传统参数一样必须按照规定的顺序书写,而且每次添加或删除函数某个参数都要函数内容进行修改。而使用JSON作为参数可以不用考虑参数顺序。
看下面代码演示:

<script type="text/javascript">
 <!--
 //普通方法
 function commonArg(name,age,desc){
  var userinfo="name: "+name+","+"age: "+age+"\ndescription: "+desc;
  alert(userinfo);
 }
 commonArg("yemoo",22,"a boy!")//每次调用都必须按照规定的参数顺序书写,如果写成commonArg(22,"yemoo","desc")则返回信息就不对,每次都必须记忆每个参数意义及顺序
 
 //JSON参数法
 function jsonArg(info){
  var userinfo="name: "+info.name+"\tage: "+info.age+"\ndescription: "+info.desc;
  alert(userinfo);
 }
 jsonArg({name:"blue",age:22,desc:"a gril?"});
 jsonArg({desc:"not a people!",name:"sss",age:0});
 //参数位置可以随意写
 //-->
 </script>

普通函数缺点很明显:必须记忆参数意义和顺序。而使用JSON的方法则不需要。

2、使用者对函数的调用非常方便,特别是在只需要传入其中几个或一个参数时。
看下面的代码演示:

<script type="text/javascript">
 <!--
 //普通方法
 function commonArg(name,age,desc){
  var userinfo="name: "+(name||"empty")+"\tage: "+(age||0)+"\ndescription: "+desc||"empty";
  alert(userinfo);
 }
 //当只需要设定后面的参数时前面每个参数都需要设置为null
 commonArg("tempUser");
 commonArg(null,null,"a boy!");
 commonArg(null,20);
 
 //JSON参数法
 function jsonArg(info){
  var userinfo="name: "+(info.name||"empty")+"\tage: "+(info.age||0)+"\ndescription: "+(info.desc||"empty");
  alert(userinfo);
 }
 //每次只需要设置需要设定参数项
 jsonArg({name:"tempUser"});
 jsonArg({desc:"a boy!"});
 jsonArg({age:20});
 //-->
 </script>

JSON方法优点很明显:每次只需传入需要的参数即可,而不用考虑其他参数。
JSON真是一个好用的东西,不用在ajax方面还是在js的其他方面都体现了其方便灵活的特性,的确应该好好去挖掘和学习json。

Javascript 相关文章推荐
javascript onmouseout 解决办法
Jul 17 Javascript
离开页面时检测表单元素是否被修改,提示保存的js代码
Aug 25 Javascript
单击按钮显示隐藏子菜单经典案例
Jan 04 Javascript
js完美的div拖拽实例代码
Jan 22 Javascript
javascript页面上使用动态时间具体实现
Mar 18 Javascript
jquery html5 视频播放控制代码
Nov 06 Javascript
Javascript数组循环遍历之forEach详解
Nov 07 Javascript
利用JS判断字符串是否含有数字与特殊字符的方法小结
Nov 25 Javascript
利用BootStrap的Carousel.js实现轮播图动画效果
Dec 21 Javascript
看看“疫苗查询”小程序有温度的代码
Jul 31 Javascript
vue 导航内容设置选中状态样式的例子
Nov 01 Javascript
js根据后缀判断文件文件类型的代码
May 09 Javascript
Javascript 获取鼠标当前的位置实现方法
Oct 27 #Javascript
JavaScript实现使用Canvas绘制图形的基本教程
Oct 27 #Javascript
js 实现一些跨浏览器的事件方法详解及实例
Oct 27 #Javascript
jQuery 检查某个元素在页面上是否存在实例代码
Oct 27 #Javascript
基于JS快速实现导航下拉菜单动画效果附源码下载
Oct 27 #Javascript
简单理解vue中el、template、replace元素
Oct 27 #Javascript
深入理解JavaScript定时机制
Oct 27 #Javascript
You might like
php实现可用于mysql,mssql,pg数据库操作类
2014/12/13 PHP
php实现仿写CodeIgniter的购物车类
2015/07/29 PHP
PHP实现导出excel数据的类库用法示例
2016/10/15 PHP
PHP如何开启Opcache功能提升程序处理效率
2020/04/27 PHP
用于table内容排序
2006/07/21 Javascript
理解Javascript_11_constructor实现原理
2010/10/18 Javascript
jQuery Deferred和Promise创建响应式应用程序详细介绍
2013/03/05 Javascript
Jquery加载时从后台读取数据绑定到dropdownList实例
2013/06/09 Javascript
jquery append()方法与html()方法的区别及使用介绍
2014/08/01 Javascript
JavaScript设计模式之单件模式介绍
2014/12/28 Javascript
JavaScript中的alert()函数使用技巧详解
2014/12/29 Javascript
解决node-webkit 不支持html5播放mp4视频的方法
2015/03/11 Javascript
jquery实现简单Tab切换菜单效果
2020/07/17 Javascript
js数组常用操作方法小结(增加,删除,合并,分割等)
2016/08/02 Javascript
使用node.js中的Buffer类处理二进制数据的方法
2016/11/26 Javascript
AngularJS使用ocLazyLoad实现js延迟加载
2017/07/05 Javascript
基于Vue过渡状态实例讲解
2017/09/14 Javascript
vue使用$emit时,父组件无法监听到子组件的事件实例
2018/02/26 Javascript
Js中将Long转换成日期格式的实现方法
2018/06/05 Javascript
js实现无缝滚动双图切换效果
2019/07/09 Javascript
JS数组降维的实现Array.prototype.concat.apply([], arr)
2020/04/28 Javascript
微信小程序拖拽排序列表的示例代码
2020/07/08 Javascript
python算法学习之桶排序算法实例(分块排序)
2013/12/18 Python
深入解析Python编程中JSON模块的使用
2015/10/15 Python
Python的CGIHTTPServer交互实现详解
2018/02/08 Python
python随机取list中的元素方法
2018/04/08 Python
Python字典创建 遍历 添加等实用基础操作技巧
2018/09/13 Python
python飞机大战pygame碰撞检测实现方法分析
2019/12/17 Python
Python格式化输出--%s,%d,%f的代码解析
2020/04/29 Python
在网上学习全世界最好的课程:Coursera
2017/11/07 全球购物
介绍一下Linux内核的排队自旋锁
2014/08/27 面试题
领班岗位职责范文
2014/02/06 职场文书
领导班子作风建设剖析材料
2014/10/11 职场文书
职工食堂管理制度
2015/08/06 职场文书
教你利用Selenium+python自动化来解决pip使用异常
2021/05/20 Python
SpringCloud Feign请求头删除修改的操作代码
2022/03/20 Java/Android