JavaScript高级 严格模式

什么是严格模式

JavaScript中 除了提供正常模式 还提供了严格模式 (strict mode)
es5中的严格模式是采用具有限制性的JavaScript变体中的一种方式
即在严格的条件下运行js代码
严格模式在ie10以上版本才会被支持
严格模式对正常的js语义做了一些修改
1 消除了js语法中的一些不合理,不严谨的地方 减少了一些怪异行为
2 消除了代码运行的一些不安全的地方 保证代码运行的安全
3 提供编译器效率 增加运行速度
4 .禁用了在 ECMAScript 的未来版本中可能会定义的一些语法,为未来新版本的 Javascript 做好铺垫。比如一些保留字如:class,enum,export, extends, import, super 不能做变量名

开启严格模式

严格模式苦于应用到整个脚本或者个别函数之中 因此在使用的时候 我们可以把严格模式分为
以下两种

为脚本开启严格模式

为整个脚本开始严格函数 需要在所有语句之前放一个特定语句 ’use strict’
在这里插入图片描述
有点script 基本是严格模式 有的是正常模式 这样不利于我们合并文件
所以苦于将整个脚本文件放在一个立即执行的匿名函数之中
这样独立创建一个作用域而不影响其他script脚本文件

如下
在这里插入图片描述

为函数开启严格模式

如下 我们也可以为一个函数开启严格模式
在这里插入图片描述

严格模式的变化

变量规定

变量必须先声明

在正常模式下 如果一个变量没有声明就赋值 默认是全局变量
但是在我们严格模式下 我们严禁 这种行为 所以变量都必须要用var来声明 然后在使用
不然就会报错

在这里插入图片描述

不能随意删除已经声明好的变量

在这里插入图片描述

this指向问题

在正常模式下
我们全局作用域下的一般函数this指向window
但是如果是在严格模式下
在全局 作用域中的函数中的this是underfined
在这里插入图片描述
所以在严格模式下 构造函数不加new调用 this就指向underfined

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值