【发布时间】:2015-02-26 10:39:03
【问题描述】:
我在 javascript (Node.js,如果重要的话) 应用程序中有以下对象。
function myObject (myInput){
this.myValue = myInput;
this.myAssociativeArray = {};
this.myAssociativeArrayLen = function() {
var k;
var l = 0;
for (k in this.users){
l = l + 1;
}
return l;
};
}
当我调用长度函数并将其记录到控制台时,我得到以下输出:
function () {
var k;
var l = 0;
for (k in this.myAssociativeArray){
l = l + 1;
}
return l;
}
我真的不确定这是怎么发生的,但似乎该函数被视为字符串属性,但我没有引号,所以怎么会这样呢?我还注意到我使用的编辑器(Sublime)并没有像其他编辑器那样改变最后一个的颜色。我想让长度函数成为对象的一部分,这样我就可以调用 myObjectInstance。 myAssociativeArray 并得到一个长度。 任何帮助将不胜感激!
【问题讨论】:
-
你怎么调用控制台日志?通常,如果您获得函数的打印版本,因为您实际上并没有执行该函数,而是引用它,即
console.log(someObject.myFunc)而不是console.log(someObject.myFunc()) -
第一次和平
this.users还是this.myAssociativeArray?以及如何调用函数:myObject.myAssociativeArrayLen或myObject.myAssociativeArrayLen()?
标签: javascript class object methods properties