js严格模式总结(分享)

JS严格模式总结(分享)

JS严格模式,也叫做严格模式,是ES5中定义的一种JS运行的模式。它可以让代码在更加安全的环境下运行,且更加严格地执行代码。本文将为您详细讲解JS严格模式的使用、注意事项以及相关示例。

使用严格模式的方法

使用严格模式只需要在JS代码的开头添加'use strict';即可,例如:

'use strict';
function foo(){
  // 具体代码
}

注意事项

在严格模式下,JS中的一些原有行为将被改变或者被彻底禁用掉,这也是使用严格模式需要注意的地方:

  1. 严格模式禁止使用不安全的语句(如eval和with语句),这两个语法在严格模式下会抛出错误。
  2. 严格模式下,尝试写入一个只读属性会抛出TypeError。
  3. 在strict模式下函数必须声明已定义的变量后使用,否则将抛出ReferenceError错误。如下例:
'use strict';
a = 1;  // 会抛出ReferenceError错误
 ```

4. 匿名函数不能用作构造函数使用,否则会抛出TypeError错误,如:

'use strict';
var a = new function(){ //TypeError: undefined is not a constructor
this.name = '匿名';
}


## 严格模式使用示例

### 禁止删除对象的属性

在严格模式下,尝试删除一个对象的属性时(`delete object.property`),如果属性不存在,会抛出一个错误。如下例:

'use strict';
var obj = {
name: '张三'
}
delete obj.name; //成功删除
delete obj.age; //抛出错误


### 禁止函数的重复定义

在严格模式下,函数名(包括匿名函数)的重复定义被视为错误。因此,以下代码会抛出SyntaxError错误:

'use strict';
function foo(){}
function foo(){} //SyntaxError: Identifier 'foo' has already been declared
```

结论

通过使用JS严格模式,我们可以更加安全地运行代码,提高代码的健壮性,并且避免一些常见的安全漏洞。在实际开发中,建议使用严格模式进行开发和编码。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js严格模式总结(分享) - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • JS 中document.URL 和 windows.location.href 的区别

    JS 中 document.URL 和 window.location.href 的区别有以下几点: 1. 基本概念 document.URL 和 window.location.href 都是用来获取当前网页的 URL 地址。它们是 window 对象的属性,可以通过 window.document.URL 和 window.location.href 的…

    JavaScript 2023年6月11日
    00
  • 前端开发基础javaScript的六大作用

    下面我将为你详细讲解“前端开发基础 JavaScript 的六大作用”。 一、动态效果 JavaScript 可以通过操作 DOM(文档对象模型),动态地改变页面的元素、内容等,实现动态效果。比如,我们可以通过 JavaScript 实现一个点击按钮,显示或隐藏一些内容的动态功能。下面是一个示例代码: // 在点击按钮时,显示或隐藏 div 元素 const…

    JavaScript 2023年5月18日
    00
  • JavaScript对象扩展方法的用法详解

    JavaScript对象扩展方法的用法详解 JavaScript对象扩展方法,是指在原有对象上添加新的属性或方法,使得对象拥有更多的功能和特性。使用对象扩展方法的好处在于,能够避免繁琐的重复代码,提高代码的可维护性。 添加对象属性 直接添加 可以使用点号(.)或方括号([])来添加对象属性。下面是两个添加属性的示例。 // 使用点号添加属性 var obj …

    JavaScript 2023年5月27日
    00
  • 使用javascript做的一个随机点名程序

    下面是使用JavaScript做随机点名程序的完整攻略。 一、前期准备 在开始编写随机点名程序之前,需要确定以下问题: 需要点名的人员名单存储在什么地方? 点名程序的界面如何设计? 点击“点名”按钮后,程序如何读取名单并实现随机选择? 随机选择后,如何将选中的人员信息展示在界面上? 在回答这些问题之后,就可以开始编写代码了。 二、程序实现 1. 存储名单 我…

    JavaScript 2023年5月28日
    00
  • 详解JavaScript编程中的window与window.screen对象

    当我们在编写JavaScript代码时,经常需要使用一些浏览器提供的对象来完成我们的任务。其中window和window.screen对象可以说是比较常用的对象之一。下面我将详细讲解它们的用法及示例说明。 window对象 window对象是整个BOM(浏览器对象模型)的根对象,也是JavaScript编程中最重要的对象之一。它提供了很多方法和属性,可以用来…

    JavaScript 2023年6月10日
    00
  • js以对象为索引的关联数组

    “以对象为索引的关联数组”在JavaScript中被称为“对象”,也是一种常见的数据结构。从表面上看,它与其他编程语言中的字典或散列表/哈希表类似,但实际上更加灵活和强大。 基本概念 JavaScript中的对象是一组键/值对,其中键是字符串(或符号)类型,而值可以是任何数据类型(包括另一个对象)。对象中的键是唯一的,且不允许重复,但同一个对象的多个键可以指…

    JavaScript 2023年6月10日
    00
  • html5+canvas实现支持触屏的签名插件教程

    下面我将详细讲解“html5+canvas实现支持触屏的签名插件教程”的完整攻略,过程中包含以下几个步骤: HTML5+Canvas基础知识 实现鼠标支持的签名插件 实现触屏支持的签名插件 HTML5+Canvas基础知识 在使用HTML5+Canvas实现签名插件之前,你需要了解一些HTML5+Canvas的基础知识: 常用方法 var canvas = …

    JavaScript 2023年6月10日
    00
  • Javascript Validation for email(正则表达式) 英文翻译

    以下是关于Javascript Email验证的完整攻略: 什么是Javascript Email验证? Javascript是一种流行的动态编程语言,常用于网站开发和交互设计。在网站中,用户通常需要在表单中填写自己的信息,其中之一就是邮箱。为了验证用户填写的邮箱是否符合规范,网站开发者会使用Javascript编写代码来验证用户的输入是否符合邮箱的正则表达…

    JavaScript 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部