js的严格模式应用及说明


一、严格模式的开启




1、整个文档开启严格模式



<script>
    window.addEventListener('DOMContentLoaded',function () {
        'use strict';			//为整个脚本文档开启严格模式
         ......
    })
</script>

或者

<script>
	/*
	*为这立即执行函数添加严格模式,因为这script里面只有这个立即执行函数,所以也变相
	*的给整个文档添加了严格模式
	*/
    (function () {
        'use strict';
        ......    
    }())
</script>

2、某个函数开启严格模式

<script>
    window.addEventListener('DOMContentLoaded',function () {
        function fn(){			//给这个fn函数添加严格模式
            'use strict';
            ......
        }
    })
</script>

二、严格模式的说明


1、严格模式下的变量必须先声明在使用
2、严格模式下不能随意删除变量
3、严格模式下的this指向问题

非严格模式下的全局作用域函数的this指向window
而在严格模式下的全局作用域函数的this指向undefined

4、严格模式下的定时器this指向还是window
5、严格模式下事件、对象的this还是调用者
6、严格模式下,如果构造函数不加new调用,this会报错(因为严格模式下的全局作用域函数的this指向undefined
7、严格模式下的函数不能有重复的参数
8、严格模式下的函数声明必须在最顶层,不能在非函数的代码块声明函数
以上都可参考https://developer.mozilla.org/zh-CN/docs/Glossary/strict_mode

发布了24 篇原创文章 · 获赞 0 · 访问量 251

猜你喜欢

转载自blog.csdn.net/weixin_45969777/article/details/104877533