gpt4 book ai didi

javascript - 为什么这段代码在 JavaScript 中不会抛出错误?

转载 作者:行者123 更新时间:2023-11-28 20:33:50 25 4
gpt4 key购买 nike

当代码停止工作时,我花了一段时间才在代码中发现这个问题。

console.log('before var');
var lastReview = ''
newReview;
console.log('after var');

lastReview = '' 之后没有逗号,我认为这是一个语法错误,但是 Chrome 检查器和 Firebug 在控制台中都没有报告任何内容。以下代码 console.log 根本不会被执行。

如果您直接在控制台中运行代码片段,Chrome 实际上会报告错误...但在实际页面运行时不会报告错误。 Firefox 在任何情况下都不会报告错误。

为什么开发工具不报告这些简单的问题?

最佳答案

没有(语法)错误 - 此代码是有效的 JavaScript。根据the rules ,JS插入分号:

console.log('before var');
var lastReview = ''; <-- here
newReview;
console.log('after var');

这样 newReview; 就成为一个有效的、尽管无意义的声明。

虽然没有语法错误,但由于 undefined variable ,此代码仍然会引发运行时错误(假设之前未声明 newReview)。

关于javascript - 为什么这段代码在 JavaScript 中不会抛出错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15818613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com