温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

在javascript中使用严格模式的方法

发布时间:2020-08-29 14:30:45 来源:亿速云 阅读:444 作者:小新 栏目:web开发

这篇文章给大家分享的是有关在javascript中使用严格模式的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

严格模式是什么意思?有什么用?

严格模式是ECMAScript 5中的一项新功能,它允许我们将程序或函数置于“严格”操作上下文中。这种严格的上下文可以防止某些操作被采取并引发更多异常。

我们需要声明“use strict”; 指示浏览器使用严格模式,这是一种简化且更安全的JavaScript功能集。

使用严格模式的好处:对普通的JavaScript语义进行了一些改变。

1、严格模式通过将其更改为抛出错误来消除一些JavaScript无提示错误。

2、严格模式修复了使JavaScript引擎难以执行优化的错误:严格模式代码有时可以比非严格模式的相同代码运行得更快。

3、严格模式禁止在ECMAScript的未来版本中定义某些语法。

4、当采取相对“不安全”的操作(例如获取对全局对象的访问权限)时,它会阻止或抛出错误。

5、它会禁用令人困惑或经过深思熟虑的功能。

6、严格模式可以更轻松地编写“安全”JavaScript代码。

如何使用严格模式?

严格模式可以用两种方式来使用 :可以在整个脚本的全局范围中使用,也可以应用于单个函数。

注:严格模式不适用于{}括号中的块语句。

在整个脚本的全局范围中使用

调用严格模式,请在任何其他陈述之前输入确切的语句“use strict”; (或'use strict';)。

//全脚本严格模式语法

"use strict";
var v ="严格模式脚本!";

注意:此语法有一个流程:无法盲目连接非冲突脚本。考虑将严格模式脚本与非严格模式脚本连接起来:整个连接看起来很严格!反之亦然:非严格加严格,会看起来非严格。严格模式脚本相互连接很好,并且非严格模式脚本的连接很好。只连接严格和非严格的脚本是有问题的。因此,建议您逐个功能地启用严格模式(至少在过渡期间)。

使用函数调用严格模式

要在函数中调用严格模式,同样请在任何其他语句之前在函数体中将确切的语句设置为“use strict”; (或'use strict';)。

function strict(){

  //功能级严格模式语法
  "use strict";

  function nested(){
     return '在Javascript中'; 
  }

  return "严格模式函数!"+ nested();
}
function notStrict(){ 
 return "非严格模式"; 
}

使用严格模式的示例:

1、在普通的JavaScript中,错误输入变量名称会创建一个新的全局变量。在严格模式下,这将引发错误,从而无法意外创建全局变量

2、使用严格模式,不允许在不声明变量的情况下使用变量

//不允许使用变量而不声明它:
"use strict";
x = 3.14; //这会导致错误

3、对象也是变量。使用严格模式,不允许使用对象而不声明它:

//不允许使用对象而不声明它:
"use strict"
x = {p1:10,p2:20}; //这会导致错误

4、不允许删除变量(或对象)和函数,也不允许删除功能

"use strict";
//不允许删除变量(或对象)和函数
var x = 3.14;
delete x; //这会导致错误

//也不允许删除功能
function x(p1,p2){}; 
delete x; //这会导致错误

5、不允许复制参数名称

“严格使用”;
函数x(p1,p1){}; //这会导致错误

6、不允许使用八进制数字文字

"use strict";
var x = 010; //这会导致错误

7、不允许使用转义字符

"use strict";
var x = \ 010; //这会导致错误

8、不允许写入只读属性

"use strict";
var obj = {};
Object.defineProperty(obj,“x”,{
   value:0,writable:false
});
   obj.x = 3.14; //这会导致错误

9、不允许写入get-only属性

"use strict";
var obj = {
   get x(){return 0}
};
obj.x = 3.14; //这会导致错误

10、不允许删除不可删除的属性

"use strict";
delete Object.prototype; //这会导致错误

11、字符串“eval”不能用作变量

"use strict";
var eval = 3.14; //这会导致错误

12、字符串“arguments”不能用作变量

"use strict";
var arguments = 3.14; //这会导致错误

13、不允许使用with语句

"use strict";
with(Math){
  x = cos(2)
}; //这会导致错误

14、出于安全原因,不允许eval()在调用它的范围内创建变量

"use strict";
eval(“var x = 2”);
alert(x); //这会导致错误

感谢各位的阅读!关于在javascript中使用严格模式的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI