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。

转载于:https://www.cnblogs.com/az19870227/archive/2011/05/27/2059722.html

使用JSON作为函数的参数(转载)相关推荐

  1. JSON.stringify的三个参数(转载)

    前段时间勾股有提到stringify是支持三个参数,刷新的了我的认知,后来查到文档才发现还真的是支持三个参数的. 参考资料: stringify stringify方法顾名思义,就是把JSON序列换, ...

  2. printf以及可变参数函数讲解(转载)

    printf以及可变参数函数的讲解(转载自 谁不小心的) 添加链接描述 printf以及可变参数函数的讲解 转载自 谁不小心的 链接:https://blog.csdn.net/trochiluses ...

  3. php json函数参数传递,JSON作为函数参数时应该如何使用

    这次给大家带来JSON作为函数参数时应该如何使用,JSON作为函数参数时使用的注意事项有哪些,下面就是实战案例,一起来看一下. 一直对json不太懂,最近看了一些介绍才发现,原来这个东西这么好用,下面 ...

  4. python中可变参数args传入函数时储存的类型是_[转载]Python中函数的参数定义和可变参数*args与**args...

    Python中函数的参数定义和可变参数 *args与**args区别 刚学用Python的时候,特别是看一些库的源码时,经常会看到func(*args, **kwargs)这样的函数定义,这个*和** ...

  5. JSON.parse 函数应用 (复制备忘)

    JSON.parse 函数 JSON.parse 函数 (JavaScript) 将 JavaScript 对象表示法 (JSON) 字符串转换为对象. 语法 JSON.parse(text [, r ...

  6. JSON.parse 函数

    JSON.parse 函数 JSON.parse 函数 (JavaScript) 将 JavaScript 对象表示法 (JSON) 字符串转换为对象. 语法 JSON.parse(text [, r ...

  7. Python函数及其参数

    定义函数def >>> def MyfirstFunction(): print('第一个函数') >>> MyfirstFunction() 第一个函数 函数的参 ...

  8. [教程]Python函数的参数

    Python函数的参数 位置参数.默认值参数.可变参数.关键字参数和命名关键字参数 1 函数结构 def 函数名(参数):函数体返回值 2 位置参数 略 3 默认值参数 略 4 可变参数 # 可变长度 ...

  9. ES6新特性(函数默认参数,箭头函数)

    ES6新特性之 函数参数的默认值写法 和 箭头函数. 1.函数参数的默认值 ES5中不能直接为函数的参数指定默认值,只能通过以下的变通方式:   从上面的代码可以看出存在一个问题,当传入的参数为0或者 ...

  10. 函数的参数与函数的嵌套调用

    参数介绍: why:因为内部的函数需要外部的数据 how:在定义函数阶段,函数名后面()中来定一函数的参数 where:在函数体中用定义的函数名直接使用 形参与实参 实参:有实际意义的函数--在函数调 ...

最新文章

  1. Java序列化和克隆
  2. HBase基本概念和hbase shell常用命令用法
  3. c语言类型名占字节,在C语言中,不同类型数据所占字节数
  4. Scala元组数据的访问
  5. wxpython界面切换_Python图形界面—wxPython库的布局管理及页面切换
  6. 世界上首个被数学证明安全的OS微内核seL4成立基金会
  7. css html 方格,使用CSS创建方格背景
  8. 结构型设计模式在公司项目中的运用实践
  9. LINUX内核段错误调试详细指南精品培训PPT讲义
  10. Multipass中文文档-教程
  11. lightGBM使用
  12. RHCE--红帽考题题库(2020.07最后7版本考试,9.1开始考红帽8)
  13. 51单片机——电脑通过串口控制LED
  14. FPGA经验谈系列文章——静态时序分析(二)
  15. 婚恋职场人格-张晓文-武汉理工大学-中国MOOC-人格知识大比武测试题参考答案
  16. 麦肯锡解决问题七步法
  17. CKEditor在线编辑器
  18. 细说 Android Annotations 注解框架
  19. Course4-Feasibility of Learning
  20. Word 2010中一种解决空白页无法删除的方法

热门文章

  1. 【ACL2020论文尝鲜】何时采用BERT更加有效?
  2. 【python】命令行参数argparse用法详解
  3. Python—常用正则表达式方法
  4. 30+岁、没转管理、加不动班,我的竞争力从哪里来?
  5. Exadata的独门武器--卸载(Offloading)
  6. 485. 最大连续 1 的个数
  7. 3.7 TextRNN—TextRCNN—TextAttentionRNN—HAN—FastText—代码
  8. Python内存管理:垃圾回收
  9. python模块 - functools模块
  10. c语言中不同类型的变量可以在一个表达式中,C语言数据类型与表达式习题及答案.doc...