直接po图和代码
https://www.runoob.com/js/js-strict.html
https://wenku.baidu.com/view/4801248968dc5022aaea998fcc22bcd127ff4265.html
https://www.cnblogs.com/niejunchan/p/6359103.html
https://www.cnblogs.com/JoannaQ/p/3424601.html
https://www.cnblogs.com/wjaaron/p/8280373.html
http://www.ruanyifeng.com/blog/2013/01/javascript_strict_mode.html
将”use strict”放在脚本文件的第一行,则整个脚本都将以”严格模式”运行。如果这行语句不在第一行,则无效,整个脚本以”正常模式”运行。
接下来,我们把第一行的"use strict";这句话,注释掉,再看看效果如何:
有些文章上讲:严格地说,只要前面不是产生实际运行结果的语句,"use strict"可以不在第一行,比如直接跟在一个空的分号后面
我自己测试了一下,如下:
从测试结果来看,只要前面不是产生实际运行结果的语句,"use strict"可以不在第一行,比如直接跟在一个空的分号后面,这句话说的不对。use strict;直接跟在一个空分号后面,那就不能算第一行了,既然不是第一行,那就是正常模式运行,而不是严格模式运行。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JavaScript中严格模式strict mode</title>
<script type="text/javascript">
/*
将”use strict”放在脚本文件的第一行,则整个脚本都将以”严格模式”运行。如
果这行语句不在第一行,则无效,整个脚本以”正常模式”运行。
*/
/*
有些文章上讲:严格地说,只要前面不是产生实际运行结果的语句,"use strict"可以不在第一行,比如直接跟在一个空的分号后面,
经过我自己的测试,这句话说的不对。
*/
// ;
"use strict";
age = 8; //报错Uncaught ReferenceError: age is not defined
console.log(age);
var hometown = '江西省赣州市于都县';
console.log(hometown); //结果为江西省赣州市于都县
"use strict";
age = 8;
console.log(age); //结果为8
//不使用var关键字定义变量
salary = 186500.56;
console.log(salary); //结果为186500.56
</script>
</head>
<body style="background-color: #CCE8CF;">
<h3 style="color: #cd1636;">
JavaScript中严格模式strict mode
</h3>
JavaScript 严格模式(strict mode)即在严格的条件下运行
<br/>
use strict的目的是指定代码在严格条件下执行。
<br/>
严格模式下你不能使用未声明的变量。
<br/>
支持严格模式的浏览器:Internet Explorer 10 +、
Firefox 4+ Chrome 13+、 Safari 5.1+、 Opera 12+。
<br/>
<a href="https://www.runoob.com/js/js-strict.html" target="_blank">
JavaScript严格模式(use strict)参考网页https://www.runoob.com/js/js-strict.html
</a>
<br/>
<a href="https://www.runoob.com/js/js-hoisting.html" target="_blank">
JavaScript变量提升参考网页https://www.runoob.com/js/js-hoisting.html
</a>
<br/>
<a href="https://blog.csdn.net/czh500/article/details/103455845" target="_blank">
javascript变量提升详解参考网页https://blog.csdn.net/czh500/article/details/103455845
</a>
</body>
</html>