JavaScript 什么是"use strict"?使用它的好处和坏处分别是什么?

🌙
手机阅读
本文目录结构

ECMAscript 5添加了第二种运行模式:“严格模式”(strict mode)。

顾名思义,这种模式使得Javascript在更严格的条件下运行。

设立"严格模式"的目的

主要有以下几个:

  1. 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;
  2. 消除代码运行的一些不安全之处,保证代码运行的安全;
  • 默认支持的糟糕特性都会被禁用,比如不能用with
  • 严格模式下的eval函数的行为和非严格模式的也不相同
  • 也不能在意外的情况下给全局变量赋值;全局变量的显示声明;
  • 函数必须声明在顶层,不允许在非函数代码块内声明函数,
  • 限制函数中的arguments修改;arguments.callee也不允许使用;
  1. 提高编译器效率,增加运行速度;
  2. 为未来新版本的Javascript做好铺垫。

注:经过测试 IE6,7,8,9 均不支持严格模式。

缺点

现在网站的 JS 都会进行压缩,一些文件用了严格模式,而另一些没有。

这时这些本来是严格模式的文件,被 merge 后,这个串就到了文件的中间,不仅没有指示严格模式,反而在压缩后浪费了字节。

更多面试题

如果你想了解更多的前端面试题,可以查看本站的WEB前端面试题 ,这里基本包涵了市场上的所有前端方面的面试题,也有一些大公司的面试图,可以让你面试更加顺利。

面试题
HTML CSS JavaScript
jQuery Vue.js React
算法 HTTP Babel
BootStrap Electron Gulp
Node.js 前端经验相关 前端综合
Webpack 微信小程序 -

这些题库还在更新中,如果你有不错的面试题库欢迎分享给我,我整理后放上来;人人为我,我为人人,互帮互助,共同提高,祝大家都拿到心仪的Offer!

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了