Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XSLT+;JavaScript:使用类_Javascript_Xml_Xslt_Class_Function - Fatal编程技术网

XSLT+;JavaScript:使用类

XSLT+;JavaScript:使用类,javascript,xml,xslt,class,function,Javascript,Xml,Xslt,Class,Function,我正在尝试使用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 (

我正在尝试使用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中使用类吗?

似乎在脚本块的顶层可以使用的内容上有一些奇怪的限制,它们不允许在顶级函数中使用
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());
}

您可以发布您正在使用的实际XSLT吗。我认为语法错误与使用类无关。实际上,我的XSL文件一切正常。我可以执行它没有任何问题(没有脚本)。插入脚本后,我在这一行得到了语法错误:Test1.prototype.getStr=function(),所有代码都位于msxsl:script中。我还插入了CDATA。您是否在脚本中插入了CDATA和转义
以及
&
字符?只有一个是必需的-CDATA或转义。所有代码都在CDATA中。正如您所看到的,代码中没有任何符号或其他特殊符号。