在使用JScript开发Windows过程的同时,似乎某些string方法无法正常工作。 在这个使用trim的示例中,第3行生成运行时错误 – “对象不支持此属性或方法”。 …
strParent = " a "; strParent = strParent.trim(); WScript.Echo ("Value: " + strParent);
我是愚蠢的吗? 任何想法是什么问题是?
您可以将trim
添加到String类:
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); }; strParent = " a "; strParent = strParent.trim(); WScript.Echo ("Value: " + strParent);
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'