1

首先,完整的代码在工作,所以我从记忆中背诵。

有一个 js 文件,其中包含这样定义的对象:

function SomeObject(someArg) {
 this.someMember = someVar.split(".");

 ...
 this.someFunc = function() {
  return this.someMember;
 }
 ...
}

还有另一个 js 文件使用了这个对象并且有一个看起来像这样的函数:

someOtherFunc(SomeObject):
   var someOtherVar = SomeObject.someFunc();
   var length = someOtherVar.length;
   ....

现在,当我在 someOtherFunc 的开头添加一个 alert(SomeObject.someFunc()) 时,我看到的只是一个空框。但是,当我提醒 SomeObject.someFunc().length 我得到 1 (因为数组有一个元素)。然而,我有一个“长度是未定义的......”,其中定义了 var 长度。此外,当我提醒 SomeObject.someFunc()[0] 时,我显示了元素的值(它是一个字符串)。

我知道它是 IE6(不要问),我无法提供太多背景信息,但我仍然希望这个问题有点为人所知,或者有一些解释或解决方法。

4

0 回答 0