JavaScript 什么是"use strict"?使用它的好处和坏处分别是什么?
ECMAscript 5添加了第二种运行模式:“严格模式”(strict mode)。
顾名思义,这种模式使得Javascript在更严格的条件下运行。
设立"严格模式"的目的
主要有以下几个:
- 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;
- 消除代码运行的一些不安全之处,保证代码运行的安全;
- 默认支持的糟糕特性都会被禁用,比如不能用with
- 严格模式下的eval函数的行为和非严格模式的也不相同
- 也不能在意外的情况下给全局变量赋值;全局变量的显示声明;
- 函数必须声明在顶层,不允许在非函数代码块内声明函数,
- 限制函数中的arguments修改;arguments.callee也不允许使用;
- 提高编译器效率,增加运行速度;
- 为未来新版本的Javascript做好铺垫。
注:经过测试 IE6,7,8,9 均不支持严格模式。
缺点
现在网站的 JS 都会进行压缩,一些文件用了严格模式,而另一些没有。
这时这些本来是严格模式的文件,被 merge 后,这个串就到了文件的中间,不仅没有指示严格模式,反而在压缩后浪费了字节。
更多面试题
如果你想了解更多的前端面试题,可以查看本站的WEB前端面试题 ,这里基本包涵了市场上的所有前端方面的面试题,也有一些大公司的面试图,可以让你面试更加顺利。
面试题 | ||
---|---|---|
HTML | CSS | JavaScript |
jQuery | Vue.js | React |
算法 | HTTP | Babel |
BootStrap | Electron | Gulp |
Node.js | 前端经验相关 | 前端综合 |
Webpack | 微信小程序 | - |
这些题库还在更新中,如果你有不错的面试题库欢迎分享给我,我整理后放上来;人人为我,我为人人,互帮互助,共同提高,祝大家都拿到心仪的Offer!