"2019-02-23 回答 在你的 JavaScript 源文件开头包含 ‘use strict’ 可以启用严格模式,该模式强制开启了更为严格的 JavaScript 代码解析和错误处理。他被认为是一种很好的实践,为开发者提供了以下便捷之处: 通过抛出错误来消除了一些原有的静默错误,让调试更加容易。 修复了一些导致 J .."

`use strict` 的作用

2019-02-23

回答

在你的 JavaScript 源文件开头包含 ‘use strict’ 可以启用严格模式,该模式强制开启了更为严格的 JavaScript 代码解析和错误处理。他被认为是一种很好的实践,为开发者提供了以下便捷之处:

"use strict"
function fun() {
  return arguments.callee; // Uncaught TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them
}
"use strict"
function f(a){
  a = 42;
  return [a, arguments[0]];
}
var pair = f(17);
console.log(pair) // [42, 17],非严格模式下输出为 [42, 42]
"use strict"
mistypedVaraible = 17; // Uncaught ReferenceError: mistypedVaraible is not defined
"use strict";
undefined = 5; // Uncaught TypeError: Cannot assign to read only property 'undefined' of object '#<Window>'

加分回答

"use strict";
delete mistypedVariable; // Uncaught SyntaxError: Delete of an unqualified identifier in strict mode.
"use strict";
name = "atatus";
function testFunction() {
    console.log(this.name);
}
// 非严格模式下输出 atatus
testFunction(); // Uncaught TypeError: Cannot read property 'name' of undefined 

返回总目录

30 秒面试系列一

  • 30Seconds

    面试 30s 系列问答翻译:

    英文原文请看 30-seconds

    104 引用 • 178 回帖 • 5 关注
  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    307 引用 • 966 回帖 • 1010 关注
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    208 引用 • 1139 回帖 • 480 关注
感谢    关注    收藏    赞同    反对    举报    分享
回帖    
请输入回帖内容...