我是靠谱客的博主 风中宝马,最近开发中收集的这篇文章主要介绍JavaScript 严格模式(use strict),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

使用"use strict" 的目的是指定代码在严格条件下执行。

严格模式通过在脚本或函数的头部添加 "use strict"; 表达式来声明。

不允许使用未声明的变量

复制代码
1
2
3
4
5
6
"use strict"; myFunction(); function myFunction() { y = 3.14; // 报错 (y 未定义) }

在函数内部声明是局部作用域 (只在函数内使用严格模式):

复制代码
1
2
3
4
5
6
7
x = 3.14; // 不报错 myFunction(); function myFunction() { "use strict"; y = 3.14; // 报错 (y 未定义) }

不允许删除变量或对象

复制代码
1
2
3
"use strict"; var x = 3.14; delete x; // 报错

不允许删除函数。

复制代码
1
2
3
"use strict"; function x(p1, p2) {}; delete x; // 报错

不允许变量重名:

复制代码
1
2
3
"use strict"; function x(p1, p1) {}; // 报错

不允许使用八进制:

复制代码
1
2
"use strict"; var x = 010; // 报错

不允许使用转义字符:

复制代码
1
2
"use strict"; var x = 10; // 报错

不允许对只读属性赋值:

复制代码
1
2
3
4
5
"use strict"; var obj = {}; Object.defineProperty(obj, "x", {value:0, writable:false}); obj.x = 3.14; // 报错

不允许删除一个不允许删除的属性:

复制代码
1
2
"use strict"; delete Object.prototype; // 报错

变量名不能使用 "eval" 字符串:

复制代码
1
2
"use strict"; var eval = 3.14; // 报错

变量名不能使用 "arguments" 字符串:

复制代码
1
2
"use strict"; var arguments = 3.14; // 报错

禁止this关键字指向全局对象


为什么使用严格模式:
消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;
消除代码运行的一些不安全之处,保证代码运行的安全;
提高编译器效率,增加运行速度;
"严格模式"体现了Javascript更合理、更安全、更严谨的发展方向,包括IE 10在内的主流浏览器,都已经支持它。

最后

以上就是风中宝马为你收集整理的JavaScript 严格模式(use strict)的全部内容,希望文章能够帮你解决JavaScript 严格模式(use strict)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部