使用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 &amp; DHTML 实例编程(教程)(三)初级实例篇1—上传文件控件实例
Jun 02 Javascript
js wmp操作代码小结(音乐连播功能)
Nov 08 Javascript
JS维吉尼亚密码算法实现代码
Nov 09 Javascript
js获取图片大小的函数代码
Sep 20 Javascript
JS实现图片翻书效果示例代码
Sep 09 Javascript
JS画线(实例代码)
Nov 20 Javascript
javascript中定义类的方法详解
Feb 10 Javascript
javascript实现Email邮件显示与删除功能
Nov 21 Javascript
JS常见问题之为什么点击弹出的i总是最后一个
Jan 05 Javascript
jquery动态添加文本并获取值的方法
Oct 12 Javascript
jquery easyui validatebox remote的使用详解
Nov 09 Javascript
JS实现静态页面搜索并高亮显示功能完整示例
Sep 19 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 is_subclass_of函数的一个BUG和解决方法
2014/06/01 PHP
PHP创建多级目录的两种方法
2016/10/28 PHP
JS分割字符串并放入数组的函数
2011/07/04 Javascript
动态创建样式表在各浏览器中的差异测试代码
2011/09/13 Javascript
js 连接数据库如何操作数据库中的数据
2012/11/23 Javascript
js实时获取系统当前时间实例代码
2013/06/28 Javascript
jQuery添加/改变/移除CSS类及判断是否已经存在CSS
2014/08/20 Javascript
原生JS简单实现ajax的方法示例
2016/11/29 Javascript
Three.js利用Detector.js插件如何实现兼容性检测详解
2017/09/26 Javascript
Vue中render方法的使用详解
2018/01/26 Javascript
基于iScroll实现内容滚动效果
2018/03/21 Javascript
jQuery实现表格的增、删、改操作示例
2019/01/27 jQuery
在node中使用jwt签发与验证token的方法
2019/04/03 Javascript
操作按钮悬浮固定在微信小程序底部的实现代码
2019/08/02 Javascript
vue中使用v-model完成组件间的通信
2019/08/22 Javascript
layui使用button按钮 点击出现弹层 弹层中加载表单的实例
2019/09/04 Javascript
windows下python模拟鼠标点击和键盘输示例
2014/02/28 Python
利用python爬取软考试题之ip自动代理
2017/03/28 Python
python中matplotlib实现最小二乘法拟合的过程详解
2017/07/11 Python
python发送告警邮件脚本
2018/09/17 Python
Python3.7安装keras和TensorFlow的教程图解
2020/06/18 Python
解决jupyter notebook打不开无反应 浏览器未启动的问题
2020/04/10 Python
踩坑:pytorch中eval模式下结果远差于train模式介绍
2020/06/23 Python
详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库
2021/01/24 Python
英国最大的老式糖果店:A Quarter Of
2017/04/08 全球购物
美国运动鞋类和服装零售连锁店:Shoe Palace
2019/08/13 全球购物
汽车检测与维修个人求职信
2013/09/24 职场文书
2014年重阳节老干部座谈会局领导发言稿
2014/09/25 职场文书
土地转让协议书
2014/09/27 职场文书
学校政风行风自查自纠报告
2014/10/21 职场文书
2014年后备干部工作总结
2014/12/08 职场文书
《百分数的认识》教学反思
2016/02/19 职场文书
幽默口才训练经典句子(48句)
2019/08/19 职场文书
导游词之晋城蟒河
2019/12/12 职场文书
HTML页面滚动时部分内容位置固定不滚动的实现
2021/04/14 HTML / CSS
Html5调用企业微信的实现
2021/04/16 HTML / CSS