XSLT + JavaScript: использование классов - PullRequest
1 голос
/ 21 апреля 2010

Я пытаюсь использовать классы в XSL (тег 'msxsl: script'). Но я получаю сообщение «Синтаксическая ошибка» при отладке файла. Вот простой код, который я использую:

function Test1(str)
{
    this.str = str;
}

Test1.prototype.getStr = function()
{
    return this.str;
}

function test()
{
    var newTest1 = new Test1("some string");
    return (newTest1.getStr());
}

Если я вставляю код в файл aspx и вызываю функцию теста, все работает нормально, без сообщений об ошибках Можно ли использовать классы в XSL?

1 Ответ

0 голосов
/ 09 января 2013

Кажется, что существуют некоторые странные ограничения на то, что вы можете использовать на верхнем уровне блоков скрипта, и что они не позволяют использовать this в функциях верхнего уровня. Однако если вы пройдете один уровень глубже, некоторые из этих ограничений исчезнут:

function MakeTest1()
{
   function inner(s)
   {
      this.str = s;
   }

   inner.prototype.getStr = function()
   {
      return this.str;
   }

   return inner;
}
var Test1 = MakeTest1();

function test()
{
    var newTest1 = new Test1("some string");
    return (newTest1.getStr());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...