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引擎来说,一切都是一样的