美文网首页Web前端之路前端Web 前端开发
简述JavaScript严格模式(推荐使用此模式~)

简述JavaScript严格模式(推荐使用此模式~)

作者: 小睿7777777 | 来源:发表于2016-03-26 14:19 被阅读223次

ECMAScript 5的严格模式是JavaScript中的一种限制性更强的变种方式。注意它并不是一个语法子集:它在语义上与正常代码有着明显的差异!!!严格模式在语义上与正常的JavaScript有一些不同。 首先,严格模式会将JavaScript陷阱直接变成明显的错误。其次,严格模式修正了一些引擎难以优化的错误:同样的代码有些时候严格模式会比非严格模式下更快。 第三,严格模式禁用了一些有可能在未来版本中定义的语法。

那如何启动该模式呢,两种方式:

(1)为某个script标签开启严格模式

为整个script标签开启严格模式, 需要在所有语句之前放一个特定语句"use strict"。

(2)为某个函数开启严格模式

为某个函数开启严格模式,需要把"use strict"(或'use strict';)声明放在函数体所有语句之前。

接着讲严格模式对语法有哪些限制呢?

(1)直接使用未声明变量将抛异常。

(2)禁止使用with语句。

(3)eval仅仅为被运行的代码创建变量,其不会影响到外部变量,比如

var x = 17;

eval("'use strict'; var x = 42; ");

alert(x === 17);//true

(4)当this的值为null或undefined时,该值不会转换为全局对象,比如

function testFunc( ) {

return this;

}

vartestvar = testFunc();//vartestvar为undefined

(5)fun.caller和fun.arguments不可用,比如

function f1(){

"use strict";

f1.caller; // 抛异常

f1.arguments; // 抛异常

}

f1();

(6)arguments.callee不可用,arguments不再追踪参数的变化,参数变化同时也不影响arguments。

(7)delete操作:删除变量,函数或参数,删除configurable特性设置为false的属性将抛异常。

(8)写入到只读属性,将属性添加到extensible属性设置为false的对象,对一个使用getter方法读取的属性进行赋值将抛异常。

(9)对象重名属性,方法重名参数将抛异常。

(10)禁止八进制表示法。

(11)函数必须声明在顶层,即不允许在非函数的代码块内声明函数。

(12)不能使用implements, interface, let, package, private, protected, public, static, yield关键字。

本严格模式简述并不完整,且条理性不够,详情请参考链接资源,最后建议前端新手们尽量开始使用严格模式,不要问我为什么,开头已经说了严格模式的目的了哈,另外面试很可能被问到啊~~~

官方文档

阮一峰:Javascript 严格模式详解

相关文章

  • 简述JavaScript严格模式(推荐使用此模式~)

    ECMAScript 5的严格模式是JavaScript中的一种限制性更强的变种方式。注意它并不是一个语法子集:它...

  • 严格模式

    参考详解JavaScript严格模式 ECMAscript 5添加了“严格模式”。一旦使用严格模式,则不严谨的语法...

  • JavaScript - 基础 - 2

    #JavaScript 严格模式(use strict) JavaScript 严格模式(strict mode)...

  • 严格模式

    为什么要使用严格模式 javascript未来的新特性会默认使用严格模式。严格模式可以降低出现莫名其妙的错误的出现...

  • 严格模式,高阶函数

    严格模式 1.1什么是严格模式 JavaScript 除了提供正常模式外,还提供了严格模式(strict mode...

  • 带你学习javascript的函数进阶(二)

    1 严格模式 1.1 什么是严格模式 JavaScript除了提供正常模式外,还提供了严格模式(strict mo...

  • JavsScript严格模式

    严格模式 严格模式(strict mode):使 JavaScript 代码在更加严格的条件下运行。严格模式不仅仅...

  • 严格模式 学习笔记

    什么是严格模式严格模式是ECMAScript5中新增的,用于严苛规范javascript脚本执行的模式 严格模式的...

  • ES5 ES6

    ES5 严格模式: "use strict"; 严格模式对正常的 JavaScript语义做了一些更改。严格模式通...

  • 2018-12-15

    ES5 严格模式: "use strict"; 严格模式对正常的 JavaScript语义做了一些更改。严格模式通...

网友评论

    本文标题:简述JavaScript严格模式(推荐使用此模式~)

    本文链接:https://www.haomeiwen.com/subject/qiydlttx.html