JScript是否支持字符串修剪方法?

时间:2015-07-19 23:11:24

标签: windows wsh jscript windows-scripting

虽然使用JScript开发Windows过程,但似乎某些字符串方法无法正常工作。在此示例中,使用trim,第3行生成运行时错误:

  

"对象不支持此属性或方法"。

我的代码:

strParent = "  a  ";
strParent = strParent.trim();
WScript.Echo ("Value: " + strParent);

我是傻瓜吗? 任何想法是什么问题?

3 个答案:

答案 0 :(得分:4)

您可以将trim添加到String类:

修剪-test.js

String.prototype.trim = function()
{
    return this.replace(/^\s+|\s+$/g, '');
};

strParent = "  a  ";
strParent = strParent.trim();
WScript.Echo ("Value: " + strParent);

cmd.exe的输出

C:\>cscript //nologo trim-test.js
Value: a

答案 1 :(得分:3)

在Windows Scripting Host下运行的JScript使用基于ECMAScript 3.0的旧版JScript。 ECMAScript 5.0中引入了trim函数。

答案 2 :(得分:1)

使用polyfill,例如: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill

此片段:

if (!String.prototype.trim) {
  String.prototype.trim = function () {
    return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
  };
}
strParent = "  a  ";
strParent = strParent.trim();
WScript.Echo ("Value: '" + strParent + "'");

将输出

Value: 'a'