English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Плюсы и минусы использования JSON в качестве параметра функции

Долгое время не понимал 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, так и в других аспектах JavaScript, поэтому его определенно стоит изучать.

Основной учебник
Вам может понравиться