0

我正在浏览这本书 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 flight 声明之间的注释块时,没有任何输出。作为参考,这来自本书的第 21 页。

4

1 回答 1

3

后面少了一个逗号"LAX"。这是 Crockford 编码风格的挫折之一 - 缺少逗号很难注意到。有一些替代编码风格可以解决这个问题(例如逗号优先),但它们有自己的问题。

此外,document.writeln这具有潜在的危险并且不是最佳使用实践 - 如果您要检查某些东西是否正在运行,请打开控制台(F12在 Chrome、Firebug(比本机更好的 Firefox 扩展)和 IE、Ctrl++中ShiftKFirefox 的本地控制台)。

萤火虫控制台 突出显示错误行的源

该错误告诉您在第 20 行之前或第 20 行是一个错误 - 因为没有逗号,所以它期望对象文字的结尾(以 a 结尾}),所以它在第 20 行给出一个错误。

于 2013-09-29T01:45:41.403 回答