Javascript 为什么未在脚本标记内的函数中声明的变量不';“不要给出错误”;“未定义变量”;

Javascript 为什么未在脚本标记内的函数中声明的变量不';“不要给出错误”;“未定义变量”;,javascript,html,function,Javascript,Html,Function,例如: <!DOCTYPE html> <html> <head> <title>TEST PAGE</title> <script type="text/javascript"> "use strict"; function a () { i = 0; } </script> <body> <div> TES

例如:

<!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>

测试页
“严格使用”;
函数a(){
i=0;
}
试验

为什么在启用了
严格模式的情况下,在浏览器中执行此html页面时没有产生“variable not defined”(变量未定义)错误?

因为您从未执行
函数。

“use strict”(使用严格)定义应在“严格模式”下执行JavaScript代码严格模式在编译时不起作用。这就是为什么它只会在函数执行时显示错误,而您没有执行它。

但是一旦html页面加载到浏览器上,脚本或函数就会被编译。所以它应该给出错误。也许我走错了方向。你能详细说明一下吗?@NehaGupta脚本没有编译。Javascript是一种解释语言。无论您是否使用“use strict”,都只会检测到语法错误,而不会检测功能错误。JS Lint可能会警告您这一点,但对于JS引擎来说,一切都是一样的