应用JavaScript的未定义元素";“拆分”;蚂蚁属性研究

应用JavaScript的未定义元素";“拆分”;蚂蚁属性研究,javascript,ant,Javascript,Ant,下面是build.xml中的一些行: <property file="${basedir}\Model\src\ModelBundle.properties"/> <property name="fullVersion" value="${CurrentReleaseView.SL_0_4}"/> <script language="javascript"> arr = project.getProperty('fullVersion').split

下面是build.xml中的一些行:

<property file="${basedir}\Model\src\ModelBundle.properties"/>
<property name="fullVersion" value="${CurrentReleaseView.SL_0_4}"/>

<script language="javascript">
    arr = project.getProperty('fullVersion').split('\\.');
    project.setProperty('version', arr[0]+"."+arr[1]+"."+arr[2]);
</script>

<condition property="build_no" value="${env.BUILD_NUMBER}" else="0">
    <isset property="env.BUILD_NUMBER"/>
</condition>
但在生产环境中,manifest.mf文件是通过以下方式创建的:

Weblogic-Application-Version: v3.10.0.1p.undefined.undefined.0. 
我们使用的是Ant版本1.8.2


有人能帮我纠正JavaScript的问题吗?

在下面的一行中

arr=project.getProperty('fullVersion').split('\\.');
split
像这样调用

split(“\\.”)
split
'\\.
)的参数是一个常规JavaScript字符串,而不是一个正则表达式。因为它是一个常规字符串,所以该字符串实际上代表两个字符

\.
因此,
split('\\.')
的意思是“每次反斜杠(
\
)在句点(
)之前都要拆分字符串。”

在代码中,
fullVersion
似乎不应该包含反斜杠。如果是这样的话,您可能只想对句点字符进行拆分,下面调用
split
应该可以

split('.'))

在下一行中

arr=project.getProperty('fullVersion').split('\\.');
split
像这样调用

split(“\\.”)
split
'\\.
)的参数是一个常规JavaScript字符串,而不是一个正则表达式。因为它是一个常规字符串,所以该字符串实际上代表两个字符

\.
因此,
split('\\.')
的意思是“每次反斜杠(
\
)在句点(
)之前都要拆分字符串。”

在代码中,
fullVersion
似乎不应该包含反斜杠。如果是这样的话,您可能只想对句点字符进行拆分,下面调用
split
应该可以

split('.'))

我想知道最初的问题是否更多地是关于为什么拆分函数根据环境不具有相同的行为。碰巧我在使用
split(.)时也遇到过这种情况。
在我的开发平台上工作,但在生产中没有。
拆分('\.')
也是一样。你知道这是什么原因吗?我想知道最初的问题是否更多的是关于为什么拆分函数在不同的环境下没有相同的行为。碰巧我也遇到过这种情况,因为使用
split(.)
在我的开发平台上工作,但不是在生产环境中。
拆分('\.')
也是一样。你知道这是什么原因吗?
\.