Имена функций JavaScript в формате JSON? - PullRequest
1 голос
/ 31 января 2011

Можно ли кодировать имена функций JS в JSON?

Ответы [ 3 ]

6 голосов
/ 31 января 2011

JSON имеет только 7 типов данных, перечисленных на домашней странице проекта .

  • Object
  • Массив
  • Строка
  • Номер
  • правда
  • ложь
  • нуль

Все имена функций JavaScript могут быть выражены в виде строк, поэтому вы можете хранить их в строке без дальнейшей кодировки.

1 голос
/ 31 января 2011

Не уверен, но, может быть, вы говорите о пространстве имен?

Хороший пример этого: http://www.dustindiaz.com/namespace-your-javascript/

Это выглядит как JSON, потому что JSON отформатирован аналогичным образом,Хотя это не будет классифицироваться как «кодирование» ваших функций как JSON.Но, скорее, создание функций в структуре пространства имен (очень похоже на JSON).

Другой пример этого будет:

var YourNameSpace = {}; // This can be whatever

(YourNameSpace.utils = function() { // Function name (utils) can be whatever
    return {
        UtilityFunction:function(){
            // Function Contents
            alert('Im cool');
        },
        AnotherUtility:function(){
            // Functions Contents
            alert('Im cool too');
        },
        AnotherSetOfFunctions:function(){
            return {
                CoolFunction:function(){
                    // Function Contents
                    alert('Im even cooler!')
                }
            }
        }()
    }
}());

И для вызова этих функций javascript:

YourNameSpace.utils.UtilityFunction(); //returns an alert: Im cool
YourNameSpace.utils.AnotherUtility(); //returns an alert: Im cool too
YourNameSpace.utils.AnotherSetOfFunctions.CoolFunction(); //returns an alert: Im even cooler!

Таким образом, вышеприведенное выглядит как JSON, поскольку они практически одинаковы по структуре.

Надеюсь, это поможет или, по крайней мере, даст вам новый способ форматирования JS.

0 голосов
/ 07 сентября 2012

Если вы говорите только об именах функций, проблем не возникает, так как имя функции является строкой.

Но если вы говорите о сериализации объекта javascript с помощью функций-членов, это не так просто.

Однако вы можете использовать JSONfn плагин

http://www.eslinstructor.net/jsonfn/

, который позволяет вам разбирать / разбирать объекты javascript с членомфункции

Надеюсь, это поможет,

-Вадим

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...