1

我目前正在学习关于“高级”Javascript 概念 ( https://www.udemy.com/course/javascript-advanced/ ) 的 Udemy 课程,第一课介绍了“使用严格”命令及其功能。本课程使用 Chrome 的 Sources 面板在片段中编写代码并观察预期结果。

出于某种原因,我在跟随视频时使用“use strict”命令的成功不一致。

示例:课程编写以下代码作为示例,说明“use strict”何时会在屏幕上抛出错误以展示存在未定义的变量。

  "use strict";
  //
  var theVal = 0;
  //
  thVal = 1;
  //
  if (theVal > 0) {
      console.log("Hello!");
  }

在视频中,抛出了一个错误——“Uncaught ReferenceError: thVal is not defined”——并且代码片段的第 5 行出现了一个红色的“x”,以突出显示错误所在的位置。但是,由于某种原因,我没有看到该错误。

奇怪的是,我可以将错误陈述的变量更改为其他任何东西——“thValue”、“theVol”等——然后会出现错误消息和“x”。我在这里缺少什么吗?我确保在运行之前保存该片段,但由于某种原因,我无法完全按照所示的视频进行操作,这只是让我不知道为什么在使用“thVal”时会发生这种情况。

4

1 回答 1

1

   "use strict";
    
var theVal = 0;
    
theVal = 1;
   
if (theVal > 0) {
   console.log("Hello!");
}

的目的"use strict"是表明代码应该在“严格模式”下执行。使用严格模式,您不能使用未声明的变量。例如thVal = 1;未声明。您可以在上面找到工作代码。

于 2019-11-29T07:12:38.940 回答