为什么';这段代码不会在JavaScript中抛出错误吗?
当代码停止工作时,我花了一段时间才在代码中发现这个问题为什么';这段代码不会在JavaScript中抛出错误吗?,javascript,firebug,web-inspector,Javascript,Firebug,Web Inspector,当代码停止工作时,我花了一段时间才在代码中发现这个问题 console.log('before var'); var lastReview = '' newReview; console.log('after var'); lastReview='后面没有逗号,我认为这是一个语法错误,但是Chrome inspector和Firebug在控制台中都没有报告任何内容。下面的代码console.log永远不会执行 如果您直接在控制台中运行代码段,Chrome实际上会报告错误。。。但在实际页
console.log('before var');
var lastReview = ''
newReview;
console.log('after var');
lastReview='
后面没有逗号,我认为这是一个语法错误,但是Chrome inspector和Firebug在控制台中都没有报告任何内容。下面的代码console.log
永远不会执行
如果您直接在控制台中运行代码段,Chrome实际上会报告错误。。。但在实际页面运行时不会。Firefox在任何情况下都不会报告错误
为什么开发工具不报告这些简单的问题呢?因为分号丢失时会自动插入,所以代码中没有语法错误 在ECMAScript语言规范的一节中阅读更多关于这方面的内容 在您的示例中,这是:
var lastReview = ''
变成:
var lastReview = '';
因为分号丢失时会自动插入,所以代码中没有语法错误 在ECMAScript语言规范的一节中阅读更多关于这方面的内容 在您的示例中,这是:
var lastReview = ''
变成:
var lastReview = '';
没有(语法)错误-此代码是有效的javascript。根据,JS插入分号:
console.log('before var');
var lastReview = ''; <-- here
newReview;
console.log('after var');
console.log('before var');
var lastReview='' 没有(语法)错误-此代码是有效的javascript。根据,JS插入分号:
console.log('before var');
var lastReview = ''; <-- here
newReview;
console.log('after var');
console.log('before var');
var lastReview='';好吧,我想我修改后的问题是,为什么运行时错误没有在控制台中报告?它只是默默地停止运行。@MichaelButler:-我在控制台中看到一条错误消息。@MichaelButler它也适用于我(在Web Inspector和Firebug中)。你的Firebug版本是什么?您是否安装了一些Firebug扩展?好吧,我想我修改后的问题是,为什么控制台中没有报告运行时错误?它只是默默地停止运行。@MichaelButler:-我在控制台中看到一条错误消息。@MichaelButler它也适用于我(在Web Inspector和Firebug中)。你的Firebug版本是什么?您是否安装了一些Firebug扩展?