具有意外属性的Javascript多维对象

时间:2010-01-14 17:58:08

标签: javascript object internet-explorer-6 multidimensional-array

在javascipt工作,我正在初始化一个多维对象(它本身嵌套了几个深层对象)。但是,在查看子对象的属性时,它具有意外的属性,第一个是“fromBase64”。使用IE6浏览器和TIBCO GI框架时会发生这种情况,但该对象独立于任何GI特定类。

我不知道这个属性来自哪里。任何人都可以放弃任何光明吗?

orderProfiles.product = function(productParameters){
    this.property1 = productParameters['property1'];
    this.property2 = productParameters['property2'];
    ...
    this.childrenProducts = new Object();
};

然后

for (child in window.selectedProducts[contact][product]['childrenProducts']){
    alert("child = " + child);
}

给予

child = fromBase64
child = toBase64
child = constrainLength
child = endsWith
child = urlTo
child = toAbsolute
child = doTruncate
child = escapeHTML
child = doReplace
child = trim
child = fromBase64

2 个答案:

答案 0 :(得分:2)

使用hasOwnProperty区分您自己的属性和从Object构造函数继承的属性(可能已扩展):

var childrenProd = window.selectedProducts[contact][product].childrenProducts;
for (child in childrenProd){
  if (childrenProd.hasOwnProperty(child)){
    alert("child = " + child);
  }
}

答案 1 :(得分:0)

这些都是prototype.js扩展对象的方法。尝试删除prototype.js并从那里获取它。