使用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一些不错的函数脚本代码
Sep 10 Javascript
js的正则test,match,exec详细解析
Jan 29 Javascript
JavaScript中的立即执行函数表达式介绍
Mar 15 Javascript
jQuery实现购物车计算价格功能的方法
Mar 25 Javascript
AngularJS中如何使用$http对MongoLab数据表进行增删改查
Jan 23 Javascript
浅谈JavaScript前端开发的MVC结构与MVVM结构
Jun 03 Javascript
最棒的Angular2表格控件
Aug 10 Javascript
第一次动手实现bootstrap table分页效果
Sep 22 Javascript
微信小程序 loading(加载中提示框)实例
Oct 28 Javascript
vue组件实例解析
Jan 10 Javascript
JS中的Replace()传入函数时的用法详解
Sep 11 Javascript
layui 选择列表,打勾,点击确定返回数据的例子
Sep 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
用PHP编写PDF文档生成器
2006/10/09 PHP
使用无限生命期Session的方法
2006/10/09 PHP
谈谈新手如何学习PHP
2006/12/23 PHP
PHP编写文件多服务器同步程序
2016/07/02 PHP
lnmp安装多版本PHP共存的方法详解
2018/08/02 PHP
用Laravel Sms实现laravel短信验证码的发送的实现
2018/11/29 PHP
Easy.Ajax 部分源代码 支持文件上传功能, 兼容所有主流浏览器
2011/02/24 Javascript
jQuery表格行换色的三种实现方法
2011/06/27 Javascript
Javascript模块化编程(一)AMD规范(规范使用模块)
2013/01/17 Javascript
JQuery伸缩导航练习示例
2013/11/13 Javascript
node.js中的path.dirname方法使用说明
2014/12/09 Javascript
深入理解JavaScript系列(22):S.O.L.I.D五大原则之依赖倒置原则DIP详解
2015/03/05 Javascript
JavaScript实现将xml转换成html table表格的方法
2015/04/17 Javascript
JavaScript中用toString()方法返回时间为字符串
2015/06/12 Javascript
利用VUE框架,实现列表分页功能示例代码
2017/01/12 Javascript
jQuery 全选 全不选 事件绑定的实现代码
2017/01/23 Javascript
bootstrap-table实现服务器分页的示例 (spring 后台)
2017/09/01 Javascript
webpack+vue-cil中proxyTable处理跨域的方法
2018/07/20 Javascript
layui导出所有数据的例子
2019/09/10 Javascript
JavaScript生成一个不重复的ID的方法示例
2019/09/16 Javascript
JavaScript实现拖拽盒子效果
2020/02/06 Javascript
js实现坦克大战游戏
2020/02/24 Javascript
react 不用插件实现数字滚动的效果示例
2020/04/14 Javascript
Vue检测屏幕变化来改变不同的charts样式实例
2020/10/26 Javascript
Python 可爱的大小写
2008/09/06 Python
关于Python正则表达式 findall函数问题详解
2018/03/22 Python
Python使用Pickle库实现读写序列操作示例
2018/06/15 Python
Python Grid使用和布局详解
2018/06/30 Python
Django使用 Bootstrap 样式修改书籍列表过程解析
2019/08/09 Python
使用python对excel表格处理的一些小功能
2021/01/25 Python
matplotlib源码解析标题实现(窗口标题,标题,子图标题不同之间的差异)
2021/02/22 Python
彪马法国官网:PUMA法国
2019/12/15 全球购物
如何开启linux的ssh服务
2015/02/14 面试题
演讲稿格式
2014/04/30 职场文书
十佳青年事迹材料
2014/08/21 职场文书
PostgreSQL存储过程实用脚本(二):创建函数入门
2021/04/05 PostgreSQL