在 xpages(注释 8.5.3)中,我使用内置的服务器端 javascript 函数toJson将 javascript 对象保存为 json。但是,当我使用fromJson从字符串中获取对象时,我不能再将我的个人原型函数用于结果对象中包含的数组。
举个例子:
var obj0={x:[1,2,3,"x","y","z"]};
var s=toJson(obj0);
var obj1=fromJson(s);
var x0=obj0.x.copy(); // WORKS FINE
var x1=obj1.x.copy(); // ERROR RAISED
引发的错误是:
[TypeError] 在“Array [JavaScript Object]”类型的对象上调用方法“copy()”时出错
函数 copy() 是 Array 的一个简单原型函数,并且工作正常:
if(!Array.prototype.copy) {
Array.prototype.copy=function() { return this.slice(0); }
}
上面的数组 x1 是 instanceof Array 并支持所有内置的 Array 函数,如 slice、join 等。然而,使用原型函数不起作用。
有人知道我在这里做错了什么吗?