使用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 相关文章推荐
window.event快达到全浏览器支持了,以后使用就方便了
Nov 30 Javascript
js、css、img等浏览器缓存问题的2种解决方案
Oct 23 Javascript
javascript白色简洁计算器
May 04 Javascript
浅谈jQuery.easyui的datebox格式化时间
Jun 25 Javascript
JavaScript中调用函数的4种方式代码实例
Jul 08 Javascript
JavaScript数组的一些奇葩行为
Jan 25 Javascript
深入浅析JavaScript面向对象和原型函数
Feb 06 Javascript
JavaScript中将数组进行合并的基本方法讲解
Mar 07 Javascript
canvas实现图像截取功能
Feb 06 Javascript
vue2.0项目中使用Ueditor富文本编辑器示例代码
Aug 14 Javascript
JS非行间样式获取函数的实例代码
Jun 05 Javascript
基于iview-admin实现动态路由的示例代码
Oct 02 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
星际争霸中的对战模式介绍
2020/03/04 星际争霸
打造计数器DIY三步曲(上)
2006/10/09 PHP
php+xml实现在线英文词典之添加词条的方法
2015/01/23 PHP
PHP实现的下载远程图片自定义函数分享
2015/01/28 PHP
php实现RSA加密类实例
2015/03/26 PHP
php实现表单提交上传文件功能
2018/05/28 PHP
thinkphp3.2框架中where条件查询用法总结
2019/08/13 PHP
列表内容的选择
2006/06/30 Javascript
js输出列表实现代码
2010/09/12 Javascript
用JS判别浏览器种类以及IE版本的几种方法小结
2011/08/02 Javascript
jquery+css+ul模拟列表菜单具体实现思路
2013/04/15 Javascript
js window.print实现打印特定控件或内容
2013/09/16 Javascript
jQuery实现鼠标经过图片预览大图效果
2014/04/10 Javascript
JavaScript怎么判断图片是否加载完成以便获取其尺寸
2014/05/08 Javascript
JS实现为排序好的字符串找出重复行的方法
2016/03/02 Javascript
jQuery中 $ 符号的冲突问题及解决方案
2016/11/04 Javascript
jQuery+pjax简单示例汇总
2017/04/21 jQuery
详解nodejs express下使用redis管理session
2017/04/24 NodeJs
jQuery初级教程之网站品牌列表效果
2017/08/02 jQuery
vue脚手架中配置Sass的方法
2018/01/04 Javascript
关于JSON解析的实现过程解析
2019/10/08 Javascript
Python 文件读写操作实例详解
2014/03/12 Python
Python实现list反转实例汇总
2014/11/11 Python
Python更新所有已安装包的操作
2020/02/13 Python
python通过cython加密代码
2020/12/11 Python
css3中background新增的4个新的相关属性用法介绍
2013/09/26 HTML / CSS
星空联盟C# .net笔试题
2014/12/05 面试题
Java文件和目录(IO)操作
2014/08/26 面试题
金融专业大学生自我评价
2014/01/09 职场文书
餐饮业员工工作决心书
2014/03/11 职场文书
2014年毕业演讲稿范文
2014/05/13 职场文书
横幅标语大全
2014/06/17 职场文书
神农溪导游词
2015/02/11 职场文书
天堂的孩子观后感
2015/06/11 职场文书
学校运动会加油词
2015/07/18 职场文书
初中班主任工作随笔
2015/08/15 职场文书