JScript是否支持string修剪方法?

在使用JScript开发Windows过程的同时,似乎某些string方法无法正常工作。 在这个使用trim的示例中,第3行生成运行时错误 – “对象不支持此属性或方法”。 …

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

我是愚蠢的吗? 任何想法是什么问题是?

您可以将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 

在Windows脚本主机下运行的JScript使用基于ECMAScript 3.0的旧版JScript。 修剪功能是在ECMAScript 5.0中引入的。

使用一个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'