Как это реализовано?
Всем привет. Помогите разобраться в js коде.
Код взят с движка SocialEngine. core-min.js SocialEngine.API.language = new class({ Base: {}, initialize: function () { this.languageVariables = new Hash() }, Translate: function (b) { var a = this.languageVariables.get(b) || "Missing Language Variable #" + b; return a }, TranslateFormatted: function (d, c) { var b = this.languageVariables.get(d) || "Missing Language Variable #" + d; c.unshift(b); var a = sprintf.run(c); return a }, Import: function (a) { if ($type(a) == "object") { this.languageVariables.extend(a) } } }); Каким образом этот скрипт берет какие-то данные (перевод)? В коде перевод добавляется так: this.Base.Language.Translate(854); //854 - номер слова |
Maxmaxmахimus, сам ЛОЛ), я знаю что это реализовано на классах. Я спрашиваю каким образом этот скрипт получает данные
|
Maxmaxmахimus, Почему ты имеешь право обзывать людей, а тебя обзывать не имеют права? Я не лол, я хорошо разбираюсь в JS. Сам посуди, в посте задавался вопрос о другом (каким образом берутся данные), а не о том, что это реализовано на классах. Я и без тебя хорошо знаю, что на классах
|
Цитата:
Цитата:
|
только приблизительно можно сказать
при инициализации создается новый объект Hash у которого видимо есть метод get this.languageVariables = new Hash(); когда мы обращаемся так this.Base.Language.Translate(854) мы попадаем на эту функцию Translate: function (b) { var a = this.languageVariables.get(b)... которая перенаправляет на соответствующий метод Hash и там переводит ----------- то есть нужен скрипт Hash чтобы точнее разобраться |
Часовой пояс GMT +3, время: 21:16. |