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 精确统计网站访问量的实例代码

    基于你的要求,以下是详细讲解 “JS 精确统计网站访问量的实例代码” 的完整攻略。 1. 思路分析 首先,了解如何统计网站的访问量是必要的。一种通用的方式是记录每次请求,但是这将占用大量的存储空间,也会影响系统的性能。 另一种更好的方式是使用浏览器中的 cookie 来跟踪唯一访问者。 我们可以使用 JavaScript 脚本来创建一个 cookie,每次页…

    JavaScript 2023年6月11日
    00
  • js闭包实例汇总

    JS闭包实例汇总 在 JavaScript 中,函数是一等公民,它们可以被传递、被赋值、被嵌套定义等等。在函数内定义的函数,被称为闭包(Closure)。闭包可以访问函数外部的变量,而且在函数执行完并返回时,可以保留这些变量的值。 本文将为大家汇总几个 JavaScript 闭包的实例,方便大家加深对闭包的理解。 示例一:计数器 我们可以通过闭包来创建一个计…

    JavaScript 2023年6月10日
    00
  • JS脚本实现网页自动秒杀点击

    让我对“JS脚本实现网页自动秒杀点击”的攻略给出一个完整的讲解吧。整个过程分为以下几个步骤: 第一步:分析网页结构和页面元素 在使用JS脚本实现自动秒杀之前,首先需要分析待秒杀页面的HTML结构和页面元素,确定需要点击的按钮(或链接)的CSS选择器,才能在JS中进行操作。 例如,假设要开发一个自动抢购京东上某一个商品的脚本,我们需要进入该商品页面,打开浏览器…

    JavaScript 2023年6月11日
    00
  • JavaScript 计算笛卡尔积实例详解

    JavaScript 计算笛卡尔积实例详解 什么是笛卡尔积? 笛卡尔积是数学中一个常用的概念,其定义如下: 对于集合A和集合B,它们的笛卡尔积A×B是指:所有可能的有序数对构成的集合{ (a, b) | a∈A, b∈B }。 实际上,笛卡尔积可以推广到N个集合的情况下。假设有N个集合A1, A2, …, AN,它们的笛卡尔积为 A1×A2×…×AN…

    JavaScript 2023年5月28日
    00
  • 详解JavaScript中的every()方法

    详解JavaScript中的every()方法 every()方法的定义 every()是JavaScript中数组对象的一个方法,用于检测数组中的所有元素是否都满足指定条件,返回一个布尔值。 arr.every(callback(element[, index[, array]])[, thisArg]) 其中,callback是必需的,用于测试每个元素的…

    JavaScript 2023年5月27日
    00
  • JavaScript数组实例的9个方法

    下面我来为您详细讲解JavaScript数组实例的9个方法: 1. push() arr.push(item1, item2, …, itemX); push() 方法向数组的末尾添加一个或多个元素,并返回新的长度。示例代码如下: let arr = [1, 2, 3]; // 向数组末尾添加元素4 arr.push(4); console.log(ar…

    JavaScript 2023年5月27日
    00
  • Apache加速模块mod_pagespeed安装使用详细介绍

    下面是“Apache加速模块mod_pagespeed安装使用详细介绍”的完整攻略: 1. 简介 mod_pagespeed是一个Apache的开源速度优化模块,可自动优化网页以提高加载速度并提升用户体验。本文将介绍如何在Apache服务器上安装和配置mod_pagespeed,并给出两个示例说明其用法。 2. 安装 安装mod_pagespeed的步骤如下…

    JavaScript 2023年6月11日
    00
  • js冒泡法和数组转换成字符串示例代码

    让我来为大家详细讲解一下 “js冒泡法和数组转换成字符串示例代码” 的攻略。 js冒泡法 1. 什么是冒泡法? 冒泡法是一种基础的排序算法。它会重复地遍历数组,每次比较相邻两个元素的大小,并根据大小进行交换,直到数组顺序正确位置。 2. 冒泡法的具体实现 下面是冒泡法的详细代码: function bubbleSort(arr) { var len = ar…

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