首頁 >web前端 >js教程 >使用JSON作為函數的參數的優缺點

使用JSON作為函數的參數的優缺點

高洛峰
高洛峰原創
2016-12-08 14:54:031294瀏覽

一直對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。


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn