调试简单的JavaScript代码

时间:2013-04-04 15:50:37

标签: javascript

开始学习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])
}

}

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

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

enter image description here

3 个答案:

答案 0 :(得分: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: Demo

答案 1 :(得分:3)

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

更改

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

要:

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

你应该看到两个键出现在日志中。

答案 2 :(得分:1)

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