// snippet for syntax error
console.log("hello stackoverflow!");
const test3;
test3='❌'
console.log(test3)

var name="me"
console.log(name)

我知道JS是同步的,并且逐行执行代码,但是为什么这里的hello stackoverflow!没有打印出来,因为错误在下一行.

另外,请考虑下面的另一段代码

// snippet for typeError
console.log('hello stackoverflow!')
const test3 = '✅'
test3='❌'
console.log(test3)

var name="me"
console.log(name)

这段代码打印出‘Hello stackoverflow’.这与第一个代码片段的行为不同.

有人能告诉我为什么会发生这种情况吗?是谁发现了JS中的这些错误?在分配内存之前,JS中的错误会发生吗?

我原本希望在这两种情况下都会打印sole.log(),但在第一个代码片段中并没有这样做.

推荐答案

在JS发生的事情的顺序是not strictly linear.

在开始执行之前扫描语法错误.

Javascript相关问答推荐

Snowflake - .toISOString()错误地舍入JS存储过程中的时间戳

Tailwind-Elements React集成到ClojureScript

如何在ReactJS中修复这种不需要的按钮行为?

事件错误:类型错误:无法读取未定义的属性(读取stopPropagation)

强制执行useStatego struct 化变量[foo,setFoo]的命名约定?

将json数组项转换为js中的扁平

materialized - activeIndex返回-1

Regex结果包含额外的match/group,只带一个返回

如何从网站www.example.com获取表与Cheerio谷歌应用程序脚本

如何将多维数组插入到另一个多维数组中?

使用getBorbingClientRect()更改绝对元素位置

如何在Node.js中排除导出的JS文件

如何使用TypeScrip设置唯一属性?

为什么JPG图像不能在VITE中导入以进行react ?

是否可以在Photoshop CC中zoom 路径项?

如何使用基于promise (非事件emits 器)的方法来传输数据?

使用Ace编辑器对子组件实例的native-element 进行Angular 获取时面临的问题

Next.js中的服务器端组件列表筛选

有没有办法更改Chart.js 3.x.x中主要刻度的字体?

我不知道如何纠正这一点.