为什么变量未在脚本标记内的函数中声明时不会出现错误"变量未定义"

Neh*_*pta 2 html javascript function

例如:

<!DOCTYPE html>
<html>
<head>
    <title>TEST PAGE</title>
    <script type="text/javascript">
      "use strict";
      function a () {
        i = 0;
      }
   </script>
<body>
   <div> TEST </div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

为什么这个html页面在浏览器中执行时没有产生"变量未定义"错误,strict mode启用了?

小智 5

因为你永远不会执行a功能.

  • @NehaGupta脚本未编译。Javascript是一种解释性语言。无论是否使用“ use strict”,都只会检测语法错误,而不会检测功能错误。JS Lint可能会警告您这一点,但是对于js引擎而言,它们都是一样的 (2认同)