当在那里记录对象引用时,为什么控制台上会显示一个整数?

时间:2012-02-02 16:12:01

标签: javascript console object-literal

我正在开发一个使用对象文字来表示组,主题和任务的应用程序。还有一个对象文字处理来自应用程序“命令行界面”的命令输入。

当用户单击某个主题时,该命令对象会将其obj属性设置为引用表示所单击内容的对象。即:用户单击组标题,现在command.obj表示组对象。

以下函数位于command对象字面值中,并显示this.obj的设置方式。单击一个元素时调用它,该元素是传递给函数的obj var:

/* defines taxonomy and obj of clicked element */
set_taxonomy: function(obj){
    if( $(obj).hasClass('group-title') ){
        this.taxonomy = $.trim('group');
        this.obj = group;
        }
    else if($(obj).hasClass('topic-title') ){
        this.taxonomy = $.trim('topic');
        this.obj = topic;
        }
    else if( $(obj).hasClass('task') ){ 
        this.taxonomy = $.trim('task');
        this.obj = task;
        }

    console.log(this.obj);

    this.set_commands();

},

group, topic, and title是自动加载的对象文字。 单击主题和标题后,console.log(this.obj)将打印出object所有相应的属性和功能。

点击某个组会显示数字3

3是什么意思?

参见工作主题对象的示例:http:// pastebin.com/NEmKHdzc

请参阅非工作组对象的示例:http://pastebin.com/ezPghLbM

2 个答案:

答案 0 :(得分:2)

您确定群组设置正确吗?在第一个if语句中尝试console.log(group)。如果你得到3,我会仔细检查(通过更多console.log次来电)你正在正确设置群组。

答案 1 :(得分:1)

您确定群组是对象文字吗?没有足够的信息来假设组实际上不等于3。

console.log(group === 3);