我正在浏览javascript好书的部分,并找到了一个不适合我的代码段。很难调试,因为我实际上不知道任何JavaScript,我试图从这本书中学习......
这是我的计划:
document.writeln('hello world');
var empty_object = {};
var stooge = {
"first-name": "Jerome",
"last-name": "Howard"
};
/*
var flight = {
airline: "Oceanic",
number: 815,
departure: {
IATA: "SYD",
time: "2004-09-22 14:55",
city: "New York"
},
arrival: {
IATA: "LAX"
time: "2004-09-23 10:42",
city: "Los Angeles"
}
};
*/
document.writeln('Hello world');
现在当我删除var航班声明之间的注释块时,没有任何输出。作为参考,这是本书的第21页。
答案 0 :(得分:3)
"LAX"
后有一个逗号丢失。这是Crockford编码风格的挫折之一 - 缺少逗号很难注意到。有替代编码样式可以解决这个问题(例如逗号优先),但它们有自己的问题。
此外,document.writeln
具有潜在的危险性而且不是最佳实践 - 如果您要查看某些内容正在运行,请打开控制台(Chrome中的 F12 ,Firebug(对于Firefox的本机控制台,一个比原生的更好的Firefox扩展和IE, Ctrl + Shift + K 。
错误告诉你在第20行之前或第20行是一个错误 - 因为没有逗号,它会期望对象文字的结尾(以}
结尾),所以它在第20行给出错误