4

开始学习 Javascript,我在 FireFox 的 FireBug 中写了这样的东西:

var myObject = {
"first_name" : "Rick",
"last_name" : "Hummer"
};

var name;
for (name in myObject) {
if(typeof myObject[name] != 'function') {
  (name + ' : ' + myObject[name])
}

}

当我运行它时,它只显示姓氏,它不应该也列出名字吗?

另外,我怎样才能放置断点并进行调试呢?

在此处输入图像描述

4

3 回答 3

4

您没有告诉浏览器输出这些值。

默认情况下,它会写出最后执行的行的结果,即(name + ' : ' + myObject[name])

要解决这个问题,只需添加console.log

var myObject = {
"first_name" : "Rick",
"last_name" : "Hummer"
};

var name;
for (name in myObject) {
  if(typeof myObject[name] != 'function') {
    console.log(name + ' : ' + myObject[name]);
  }
}

适用于 Firefox 19: 演示

于 2013-04-04T15:53:52.037 回答
3

您有一个不做任何事情的语句,它构建一个字符串但不使用它。调试器可能只是向您显示最后执行的语句。

改变

(name + ' : ' + myObject[name])

到:

console.log(name + ' : ' + myObject[name])

您应该会看到两个键都出现在日志中。

于 2013-04-04T15:53:28.737 回答
1

此外,对于调试,您应该在要放置断点的行处简单地编写“调试器”(不带任何引号)。据我所知,所有浏览器都支持该声明。

于 2013-04-04T16:14:47.567 回答