Как это реализовано?
Всем привет. Помогите разобраться в 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, время: 16:26. |