虽然使用JScript开发Windows过程,但似乎某些字符串方法无法正常工作。在此示例中,使用trim,第3行生成运行时错误:
"对象不支持此属性或方法"。
我的代码:
strParent = " a ";
strParent = strParent.trim();
WScript.Echo ("Value: " + strParent);
我是傻瓜吗? 任何想法是什么问题?
答案 0 :(得分:4)
您可以将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
答案 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'