开始学习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])
}
}
当我运行它时,它只显示姓氏,不应该列出名字吗?
另外,我怎样才能提出断点并进行调试呢?
答案 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:
答案 1 :(得分:3)
你有一个不做任何事情的声明,它构建一个字符串但不使用它。调试器可能只是向您显示最后执行的语句。
更改
(name + ' : ' + myObject[name])
要:
console.log(name + ' : ' + myObject[name])
你应该看到两个键出现在日志中。
答案 2 :(得分:1)
此外,对于调试,您只需在要放置断点的行上编写“debugger”(不带任何引号)。据我所知,所有浏览器都支持该声明。