English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Долгое время не понимал 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, поэтому его определенно стоит изучать.