在javascript中如何使用严格模式?使用示例

javascript中如何使用严格模式?本篇文章就给大家简单介绍javascript中的严格模式是什么意思?如何使用?有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

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

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

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

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

立即学习“Java免费学习笔记(深入)”;

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教程!

以上就是在javascript中如何使用严格模式?使用示例的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2736655.html

(0)
上一篇 2025年3月8日 01:26:55
下一篇 2025年3月6日 11:14:37

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • JavaScript中==和===的区别是什么

    本篇文章我们给大家带来的内容是介绍JavaScript中==和===运算符之间的区别是什么?有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 首先我们要知道:JavaScript中’==’运算符表示抽…

    2025年3月8日
    200
  • puppeteer爬虫是什么?爬虫的工作原理

    本篇文章给大家带来的内容是介绍puppeteer爬虫是什么?爬虫的工作原理。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 爬虫(puppeteer)是什么? 爬虫又称网络机器人。每天或许你都会使用搜索引擎,爬虫便是搜索引…

    2025年3月8日
    200
  • JavaScript如何创建对象?实例化对象的方法

    本篇文章给大家带来的内容是介绍JavaScript如何创建对象,让大家了解用js创建并实例化对象的三种方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 在语法方面上,JavaScript是一种灵活的面向对象语言。在我们…

    2025年3月8日
    200
  • Vue数据通信的详细介绍(附实例)

    本篇文章给大家带来的内容是关于vue数据通信的详细介绍(附实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一、前言 组件是 vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无…

    2025年3月8日 编程技术
    200
  • redux异步操作的详细介绍(代码示例)

    本篇文章给大家带来的内容是关于redux异步操作的详细介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一、redux基础 redux 通过 dispatch(action) -> 中间件 -> …

    编程技术 2025年3月8日
    200
  • JSON生成Form表单的详细解析(代码实例)

    本篇文章给大家带来的内容是关于json生成form表单的详细解析(代码实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 JSON表单 描述 JSON表单是一个基于React的抽象组件,它可以把JSON数据格式描述的表单…

    2025年3月8日
    200
  • JavaScript的DOM和BOM的介绍

    本篇文章给大家带来的内容是关于javascript的dom和bom的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 文档对象模型(DOM) 面试官很喜欢问的:“你知道什么是文档对象模型吗?”,那今天我们一个个来解释一下…

    2025年3月8日
    200
  • 2018年最新26个JavaScript面试题及答案介绍

    本篇文章给大家带来的内容是关于2018年最新26个JavaScript面试题及答案介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 根据 Stack Overflow 的 2018 年度调查,JavaScript 连续六…

    2025年3月8日
    200
  • java和javascript之间有什么区别

    JavaScript和java的区别有:1、Java是强类型语言,而JavaScript是弱类型语言;2、数据类型不同;3、执行环境不同;4、定位不同;5、联编方式不同;6、并发方法不同。 本文操作环境:Windows7系统、Dell G3…

    2025年3月8日
    200
  • 浏览器输入url到发起http请求的具体过程介绍

    本篇文章给大家带来的内容是关于浏览器输入url到发起http请求的具体过程介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 用户输入url 当用户输入url,操作系统会将输入事件传递到浏览器中,在这过程中,浏览器可能会做…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论